2015-03-03 54 views
0

我有一個ListView,我設置了一個上下文菜單,當列表視圖項被長按時出現。但我想爲不同的列表視圖項目的不同菜單?在Android中使用特定的上下文菜單和列表視圖特定項目

代碼:

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

有些項目應該有BuyRemove,但他們可能有both

我該如何做到這一點?

回答

0

你有沒有嘗試過這樣的:

@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邏輯到你的應用程序。如果你可以發佈更多關於它的代碼,我們可以幫助你更多

+0

不,我不想要!我想知道從哪裏得到'shouldHaveBuyButton' for specific list item? @fernandocarvalhosa – 2015-03-03 13:05:58

+0

這是我們不能給你不理解你的邏輯哈哈。 在您的應用中顯示「購買」或「移除」按鈕的條件是什麼? – 2015-03-03 13:07:53