我在ListView上使用ContextMenu。我面临的问题是我没有在已经在ListView中选择的项目上获得ContextMenu,因为它根本无法触及。
答案 0 :(得分:0)
在onCreate():
registerForContextMenu(lv);
要在长按期间访问所选项目:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
if (v.getId() == R.id.lv) {
ListView lv = (ListView) v;
AdapterView.AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) menuInfo;
YourObject obj = (YourObject) lv.getItemAtPosition(acmi.position);
menu.add("One");
menu.add("Two");
menu.add("Three");
menu.add(obj.name);
}
}
答案 1 :(得分:0)
解决!
对于ListView项目中的所有按钮,我所做的是"android:focusable="false"
,它们正在窃取焦点,使所选列表项不可触摸。
参考:click-events-listview-gridview