我試圖通過這本書從Android開發文檔這樣做:幾乎完全爲http://developer.android.com/guide/topics/ui/menus.html#context-menuAdapterContextMenuInfo總是空
// this didn't create a menu, i don't know why
//registerForContextMenu(getListView());
setListAdapter(new ArrayAdapter<Note>(this, R.layout.selectset_listitem) {
@Override
protected View getView(...) {
... custom layout ...
// this creates a menu, but...
registerForContextMenu(convertView);
return convertView;
}
}
而且onCreateContextMenu
和onContextItemSelected
。
這裏是它的外觀的文檔(和我的代碼):
@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);
}
但是這部分總是給我一個空的信息:
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
...
}
是真正獨特的唯一事情是我有一個列表項目的自定義佈局(即幾個文本字段和圖像)。有什麼我需要做的是能夠獲得上下文菜單的內置項目的索引?
你說onCreateContextMenu是「幾乎」一模一樣,什麼區別?你可以發佈該方法嗎? – Jack
該方法與文檔中的完全相同。 – leech
無論如何貼吧...... – Jack