SQLite データベースにデータを追加すると、listView 内に表示されます。しかし、コンテキストメニューで削除したいです。コンテキスト メニューは表示されますが、データは削除されません。
ここに私のコードのサンプルがあります:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
mDataBase = dbHelper.getWritableDatabase();
switch(item.getItemId()) {
case R.id.delete:
mDataBase.delete("orderTable", "_id" + " =? ", new String[] {String.valueOf(info.id)});
dbAdaper.setArrayMyData(selectAll());
dbAdaper.notifyDataSetChanged();
mDataBase.close();
}
return super.onContextItemSelected(item);
}
info.id の値が 0 であることがわかりました。
dbAdaper = new DBBasketAdapter(getActivity(), selectAll());
listView.setAdapter(dbAdaper);
registerForContextMenu(listView);