如何在多个上下文菜单中添加不同的菜单项?

adn*_*eal 2 java android contextmenu

我有两个按钮,每个按钮有一个上下文菜单,但我不确定如何更改第二个菜单中的菜单项.我的代码只显示我的第一个按钮的项目.

Button Button1 = (Button) findViewById(R.id.Button1);
registerForContextMenu(Button1); 

Button Button2 = (Button) findViewById(R.id.Button3);
registerForContextMenu(Button2); 
}


@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Select Notification");
menu.add(0, v.getId(), 0, "Algebraic");
menu.add(0, v.getId(), 0, "Knuckle Train");
menu.add(0, v.getId(), 0, "In My Element ");
menu.add(0, v.getId(), 0, "Let's Get This Party");
menu.add(0, v.getId(), 0, "Shmowzow");
menu.add(0, v.getId(), 0, "What the Jug");
menu.add(0, v.getId(), 0, "Word to Your Mother");
}

@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Algebraic"){function1(item.getItemId());}
else if(item.getTitle()=="Knuckle Train"){function2(item.getItemId());}  
else if(item.getTitle()=="In My Element"){function3(item.getItemId());} 
else if(item.getTitle()=="Let's Get This Party"){function4(item.getItemId());}  
else if(item.getTitle()=="Shmowzow"){function5(item.getItemId());}  
else if(item.getTitle()=="What the Jug"){function6(item.getItemId());}  
else if(item.getTitle()=="Word to Your Mother"){function7(item.getItemId());}  
else {return false;}
return true;
}
Run Code Online (Sandbox Code Playgroud)

Ted*_*opp 7

比较传入的按钮作为onCreateContextMenu中的视图:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    if (v == Button1) {
        menu.setHeaderTitle("Select Notification");
        menu.add(0, v.getId(), 0, "Algebraic");
        menu.add(0, v.getId(), 0, "Knuckle Train");
        menu.add(0, v.getId(), 0, "In My Element ");
        menu.add(0, v.getId(), 0, "Let's Get This Party");
        menu.add(0, v.getId(), 0, "Shmowzow");
        menu.add(0, v.getId(), 0, "What the Jug");
        menu.add(0, v.getId(), 0, "Word to Your Mother");
    } else if (v == Button2) {
        // stuff for Button2
    }
}
Run Code Online (Sandbox Code Playgroud)