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;
}