我试图通过这本书从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