Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我的列表视图具有自定义适配器时,为什么MenuItem.AdapterContextMenuInfo为空?_Android - Fatal编程技术网

Android 当我的列表视图具有自定义适配器时,为什么MenuItem.AdapterContextMenuInfo为空?

Android 当我的列表视图具有自定义适配器时,为什么MenuItem.AdapterContextMenuInfo为空?,android,Android,我的问题: 在我开始使用OnLongClickListener之前,当列表视图具有自定义适配器时,是否有更好的方法来传递“单击什么来创建此上下文菜单”信息 以下是一些细节: 通常,我的代码可以执行如下操作: public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 然后继续快乐 但是,自从

我的问题: 在我开始使用OnLongClickListener之前,当列表视图具有自定义适配器时,是否有更好的方法来传递“单击什么来创建此上下文菜单”信息

以下是一些细节:

通常,我的代码可以执行如下操作:

public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
然后继续快乐

但是,自从我引入自定义适配器以来,item.getMenuInfo()就为null。 这是一个大问题,因为我的代码不再知道单击了哪个项目。(我的自定义适配器使每个列表行成为复选框和文本视图)

我试过了,但失败了: 创建了我自己的特殊AdapterContextMenuInfo(称为“HasAViewMenuInfo”),但当我在这个方法中传递它时,它最终在菜单中为null

public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) 
{
    super.onCreateContextMenu(menu, v, new HasAViewMenuInfo(v));

我怀疑你的问题是:

我的自定义适配器生成每个列表行 复选框和文本视图

暂时去掉复选框。如果您的上下文菜单现在起作用,那么复选框就是问题所在。考虑切换到<代码> CHECKDTECTVIEW ——这比ListVIEW的支持要好很多(例如,使用<代码> CouthySoMeDyMule,<代码> SETITECHECKEDD()/<代码>。

我使用了带有自定义适配器的上下文菜单,没有任何问题。但是,我没有在我的行中使用复选框