Java 在android studio中引用菜单项ID
我想知道我如何引用我在交换机中创建的菜单项? 先谢谢你 我的菜单项:Java 在android studio中引用菜单项ID,java,android,android-studio,menu-items,Java,Android,Android Studio,Menu Items,我想知道我如何引用我在交换机中创建的菜单项? 先谢谢你 我的菜单项: @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { menu.setHeaderTitle("Vælg en handling"); //I just want one of the menu items under refer
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Vælg en handling");
//I just want one of the menu items under referenced.
menu.add(0,0,0, "Slet denne regning");
menu.add(0,1,0, "Omdøb denne regning");
}
还有我的开关盒:
@Override
public boolean onContextItemSelected(MenuItem item) {
adapter.getSelectedItem(item);
switch (item.getItemId()){
case //This is where i want one of my menu items referenced :
finish();
}
return super.onContextItemSelected(item);
}
还应注意,我的开关在我的mainActivity中,我的菜单项在另一个类(回收器适配器)中。在Menu.xml文件中,您可以为该项定义一个id,例如@+id/Menu\u项
<item
android:id="@+id/menu_item"
android:icon="@drawable/item"
android:title="Item"
android:visible="true"
app:showAsAction="ifRoom" />
在活动中声明:
public class MainActivity extends AppCompatActivity {
MenuItem mi;
add
方法返回menuitem:mi=menu.add(0,0,0,“Slet-denne-regning”)代码>
在onContextItemSelected
:
if (item == mi) {
//your code here
}
我没有xml文件,但我直接创建了id为“0”的项目。Like so“menu.add(0,0,0,“Slet denne regning”);“这是我想要引用的项目:)@ott若方法中的第二个参数是id,请尝试使用它,案例0表示“Slet denne regning”,案例1表示“Omdøb denne regning”好的,我也会试试。谢谢。似乎太对了。除了我无法在我的主要活动中解析符号mi外。在onCreate()之前在顶部声明它;你会怎么做?看我编辑的答案。变量mi需要是活动中的全局变量。我的“mi=menu.add(0,0,0,“Slet denne regning”);”位于MainActivity之外的另一个类中:P
if (item == mi) {
//your code here
}