- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试着按照 android 开发文档中的书来做这件事:
// 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
几乎与 http://developer.android.com/guide/topics/ui/menus.html#context-menu 中的完全一样.
这是它在文档(和我的代码)中的样子:
@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();
...
}
唯一真正独特的是我有一个列表项的自定义布局(即几个文本字段和一个图像)。我需要做些什么才能获取为其构建上下文菜单的列表项的索引吗?
最佳答案
您需要在 ListView
的 Activity 中调用 registerForContextMenu()
,而不是在适配器的 View 项上调用。
关于android - AdapterContextMenuInfo 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291280/
我在网上查过这个。所以我的理解是 AdapterContextMenuInfo.position 是 ListView 中项目的索引。 AdapterContextMenuInfo.id是Cursor
我试着按照 android 开发文档中的书来做这件事: // this didn't create a menu, i don't know why //registerForContextMenu(
这是我的问题,我有这样的类架构: Activity fragment RecyclerView(有一个适配器) 适配器: 有一个 ViewHolder 类: public static class N
我有一个应用程序,它对 Activity 的 fragment 有很多看法。其中许多 View 需要上下文菜单,因此我必须在 View 的 onCreateContextMenu 中而不是在 Acti
我是一名优秀的程序员,十分优秀!