1

私はAndroid開発に比較的新しいので、SQLの仕組みを知りたいので、このチュートリアル(http://www.startingandroid.com/how-to-use-sqlite-database-in-android/)に従いました。私が開発しているアプリケーションでCardViewとRecyclerViewを使用しようとしているので、そのチュートリアルは私を始めるのにとても役に立ちました。Android Contextual Action Bar - RecyclerViewの位置を取得

しかし、私はさらに進んで、選択されたアイテムを「お気に入り」または「削除」できるように、「コンテキストアクションバー」を実装しました。だから、私の質問は、どのように私は選択項目の位置を取得し、それからSQL IDを抽出することができますし、どのようにCABで複数選択を組み込むつもりですか?

@Override 
public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.user_row, parent, false); 
UserViewHolder userViewHolder = new UserViewHolder(v); 

v.setClickable(true); 

v.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Snackbar.make(v, "CLICK", Snackbar.LENGTH_SHORT).show(); 
    } 
}); 

v.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
     Snackbar.make(v, "LONG CLICK", Snackbar.LENGTH_SHORT).show(); 
     if (mActionMode != null) { 
      return false; 
     } 
     v.startActionMode(new ActionMode.Callback() { 
      @Override 
      public boolean onCreateActionMode(ActionMode mode, Menu menu) { 
       MenuInflater inflater = mode.getMenuInflater(); 
       inflater.inflate(R.menu.context, menu); 
       return true; 
      } 

      @Override 
      public boolean onPrepareActionMode(ActionMode mode, Menu menu) { 
       return false; 
      } 

      @Override 
      public boolean onActionItemClicked(ActionMode mode, MenuItem item) { 
       //get number of selected items 

       switch (item.getItemId()) { 
        case R.id.context_favourite: 
         //SQL - Favourite Item 
         mode.finish(); 
        case R.id.context_delete: 
         //SQL - Delete Item 
         mode.finish(); 
       } 
       return false; 
      } 

      @Override 
      public void onDestroyActionMode(ActionMode mode) { 
       mActionMode = null; 
      } 
     }); 
     return true; 
    } 
}); 
return userViewHolder; 
} 

答えて

0

私は同じ問題を抱えていましたが、ビューファインダー内のカーソルからIDを保存しました。あなたのcreateviewholder funcでこれを行います

関連する問題