找出ListView中的哪个项目调用了Android中的上下文菜单

时间:2014-12-23 16:47:28

标签: android listview contextmenu

如何找出ListView中的哪个项目被单击以调用上下文菜单?我可以获取所点击列表项的索引(或其他内容)吗?

2 个答案:

答案 0 :(得分:0)

做这样的事情

ListView list = (ListView) findViewById(R.id.listView);

    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            Log.d("ListView click", "clicked index is:" + position);
        }
    });

答案 1 :(得分:0)

我发现必须为上下文菜单注册ListView。

以下是我使用的代码:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

    super.onCreateContextMenu(menu, v, menuInfo);
    ListView lv = (ListView) v;
    AdapterView.AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) menuInfo;
    String contextMenuInvoked = (String) lv.getItemAtPosition(acmi.position);
    menu.setHeaderTitle("Context Menu");
    menu.add(0, v.getId(), 0, "Edit");
}