1
@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,但我不确定如何通过这种方法访问我的数组适配器索引。

4

2 回答 2

5

例如,如果您使用带有自定义对象的列表视图:

@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); 
}
于 2012-06-20T16:40:31.670 回答
2

投射menuInfo到一个AdapterView.AdapterContextMenuInfo对象。从那里,您可以获取长敲击中的项目的position和。idListView

于 2010-09-02T23:22:02.973 回答