2011-11-17 46 views
0

ContextMenuInfo.id和item.getItemId在回調中的區別onContextItemSelected()?回調函數onContextItemSelected()中的ContextMenuInfo.id和item.getItemId有什麼區別?

如何在我的AVD中顯示ContextMenu?謝謝!!

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
           ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.context_menu, menu); 
} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 
    switch (item.getItemId()) { 
    case R.id.edit: 
    editNote(info.id); 
    return true; 
    case R.id.delete: 
    deleteNote(info.id); 
    return true; 
    default: 
    return super.onContextItemSelected(item); 
    } 
} 

回答

0

在將菜單傳遞到super.onCreateContextMenu之前將菜單充滿。

ContextMenuInfo是啓動上下文菜單的視圖可以設置的額外數據 - 所以存在具有不同item.getItemId()的編輯和刪除按鈕,但info.id給出了用於創建菜單的視圖(要編輯的項目)。

+0

謝謝!那麼如何更改** menuInfo **中的info.id? – Sam

相關問題