如何在android中创建动态上下文菜单?

发布于 2024-09-17 12:47:49 字数 369 浏览 1 评论 0原文

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

@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");  
    }  

I want my menu to say "Remove AAPL"

I would get the string AAPL from my array adapter, but I am not sure how I can access my array adapters index from this method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月亮邮递员 2024-09-24 12:47:49

例如,如果您将列表视图与自定义对象一起使用:

@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); 
}

Example if you are using listviews with custom object:

@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); 
}
神回复 2024-09-24 12:47:49

menuInfo 转换为 AdapterView。 AdapterContextMenuInfo 对象。从那里,您可以获取长按的 ListView 中项目的 positionid

Cast menuInfo to an AdapterView.AdapterContextMenuInfo object. From there, you can get the position and id of the item in the ListView that was long-tapped.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文