我使用基础适配器填充列表视图,此列表的每一行都有3 ImageView
。
我想显示ContextMenu
并在长按其中一张图片时获取图片位置(不是点击列表行,而是点击图片本身),我试图给{{{ 1}}在Activity中排并获取图像,然后为listview
注册此图像,但没有任何效果。
我想在行中的每个图片上调用事件contextMenu([registerForContextMenu(imgLeft)])
,但我遇到了一个问题,就是我可以调用(显示 - 打开)onLongClickListener
中的contextMenu
(否)这里的活动)方法baseAdapter
()......?或者我如何在getView
...?
contextMenu
注册这些图片
我在这里和谷歌搜索了大量的解决方案并且什么都没有。
答案 0 :(得分:1)
为每个ImageView注册ContextMenu
可能有效。像这样:
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
if (arg1 == null) {
LayoutInflater vi = (LayoutInflater) cmx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
arg1 = vi.inflate(R.layout.services_item, null);
}
ImageView serviceThumb = (ImageView) arg1.findViewById(R.id.thumbIView);
registerForContextMenu(serviceThumb);
serviceThumb.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
menu.setHeaderTitle("Test");
for (int i = 0; i< 5; i++) {
menu.add(Menu.NONE, i, i, i + " - Test");
}
}
});
}