我有一個expandListView diaryDisplaylist如何確定該項目屬於哪一類,從onContextItemSelected
這是適配器DiaryExpandListAdapter mAdapterForAll將被用於填充diaryDisplayList
代碼片段其做到這一點:
mAdapterForAll = new DiaryExpandListAdapter(this, diaryList);
diaryDisplaylist.setAdapter(mAdapterForAll);
diarylist的類型爲:
diaryList = new ArrayList<Object>();
diaryList將包含大約8個數據庫中的所有項目,根據數據庫中輸入日期的時間將expandlist分組。 它完美地顯示它。
現在我有擴展列表完整的屬於不同數據庫的元素。
因此,對於編輯和刪除功能,我已經使用
diaryDisplaylist.setOnCreateContextMenuListener(this);
代碼片段文本菜單:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
ExpandableListView.ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) menuInfo;
int type = ExpandableListView.getPackedPositionType(info.packedPosition);
if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
menu.add(0, Constants.MENU_EDIT, 0, "Edit");
menu.add(0, Constants.MENU_DELETE, 1, "Delete");
}
}
@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case Constants.MENU_EDIT:
// once i get item belonging to respective database i can edit
return true;
case Constants.MENU_DELETE:
return true;
default:
return super.onContextItemSelected(item);
}
}
在上的ContextMenuItem選擇我如何才能找到屬於哪個數據庫? 我不能使用適配器找到我的對象,因爲我沒有在contextItemSelected中的groupPosition和childPosition。 如果我能得到那些我可以簡單地使用。
Object selectedObject = mAdapterForAll.getChild(groupPosition, childPosition);
然後用selectedObject我可能已經發現了
if(selectedObject isInstanceOf db1)
對不起上面的代碼是越野車這個代碼工作正常,我確定組和兒童擴展列表視圖中的位置 – Swapnil 2013-04-03 15:51:06