【问题标题】:Using specific contextmenu with listview specific items in android在android中使用带有listview特定项目的特定上下文菜单
【发布时间】:2015-03-03 12:54:25
【问题描述】:

我有一个ListView,并且我设置了一个上下文菜单,以便在长按列表视图项时出现。但是我想要不同的列表视图项目的不同菜单?

代码:

protected void onCreate(Bundle savedInstanceState) {
    // other stuff
    registerForContextMenu(listView);  
}

还有 onCreateContextMenu:

   @Override
   public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
       super.onCreateContextMenu(menu, v, menuInfo);  
       menu.setHeaderTitle("Context Menu");  
       menu.add(0, v.getId(), 0, "Buy");  
       menu.add(0, v.getId(), 0, "Remove");  
       menu.add(0, v.getId(), 0, "Wishlist");  
   }  

某些项目应该有Buy 或Remove,但它们可能有both。

我如何做到这一点?

【问题讨论】:

    标签: android listview android-activity overriding contextmenu


    【解决方案1】:

    你试过了吗:

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
        super.onCreateContextMenu(menu, v, menuInfo);  
        menu.setHeaderTitle("Context Menu");
    
        if(shouldHaveBuyButton)
        {
            menu.add(0, v.getId(), 0, "Buy");  
        }
        if(shouldHaveRemoveButton)
        {
            menu.add(0, v.getId(), 0, "Remove");  
        } 
        menu.add(0, v.getId(), 0, "Wishlist");  
    }  
    

    shouldHaveButton 逻辑取决于您的应用。如果您可以发布更多关于它的代码,我们可以为您提供更多帮助

    【讨论】:

    • 不,那不是我想要的!我想知道我从哪里获得特定列表项的shouldHaveBuyButton? @fernandocarvalhosa
    • 这是我们无法在不了解您的逻辑的情况下给您的东西哈哈。在您的应用中显示“购买”或“删除”按钮的条件是什么?
    猜你喜欢
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    相关资源
    最近更新 更多