2
您好我有一個從ContextMenu獲取ExpandableListView項目的id的問題,我需要從我的數據庫(使用內容提供者)刪除條目。從ContextMenu獲取ExpandableListView的選定項目
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
menu.add(Menu.NONE, MENU_EDIT, Menu.NONE, "Edit");
menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, "Remove");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) menuItem.getMenuInfo();
switch (item.getItemId()) {
case MENU_EDIT:
editEntry(info.id);
return true;
case MENU_REMOVE:
deleteEntry(info.id);
return true;
default:
return super.onContextItemSelected(item);
}
}
private void deleteEntry(long id) {
Uri uri = Uri.parse(DatabaseManager.CONTENT_URI + "/" + id);
getActivity().getContentResolver().delete(uri, null, null);
}
的文本菜單正顯示出,但是當我點擊「刪除」什麼也沒有發生。你能告訴我該怎麼辦?
你沒有看到從'ListView'和/或供應商刪除的項目?你有沒有跟蹤你的提供者在觸發'delete()'時發生了什麼?您可能還想發佈提供商的刪除方法。 – Luksprog
它工作得很好用的ListView – keysersoze
哦,我忘了我的適配器上調用notifydatasetchanged - 該項目確實刪除,但...它不是我點擊的項目。當我嘗試刪除組中的最後一項時,它將刪除組中的第一項。爲什麼? – keysersoze