@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Selection Options");
menu.add(0, v.getId(), 0, "Remove");
}
我希望我的菜单说“删除AAPL”
我会从我的数组适配器获取字符串AAPL,但我不确定如何从此方法访问我的数组适配器索引。
答案 0 :(得分:5)
如果您将listviews与自定义对象一起使用,请执行以下示例:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
MyObject obj = (MyObject) myListView.getItemAtPosition(info.position);
menu.setHeaderTitle("Selection Options");
menu.add(0, v.getId(), 0, "Remove " + obj.name);
}
答案 1 :(得分:2)
将menuInfo
投射到AdapterView.AdapterContextMenuInfo
个对象。在那里,您可以获得position
中长期点击的项目的id
和ListView
。