ListView上下文菜单

时间:2014-10-18 08:25:56

标签: java android

我在ListView上使用ContextMenu。我面临的问题是我没有在已经在ListView中选择的项目上获得ContextMenu,因为它根本无法触及。

2 个答案:

答案 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