我有一个ListView
,我设置了一个上下文菜单,以便在长按listview项时显示。但我想为不同的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
。
我如何实现这一目标?
答案 0 :(得分: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
逻辑取决于您的应用。如果您可以发布更多有关它的代码,我们可以帮助您更多