java – 安卓菜单代码不起作用
作者:互联网
当我按下按钮时,我一直试图找出为什么我的布尔值没有改变,当我手动改变它时它工作,但它没有做任何事情.我试图按照教程来说明这个词,但它们不起作用.谁能指出我哪里出错了?
public boolean onOptionsItemSelected(MenuItem menu)
{
MenuItem freeze = (MenuItem)findViewById(R.id.freeze);
// Handle item selection
switch (menu.getItemId()) {
case R.id.freeze:
if (freze == false){
freze = true;
} else {
freze = false;
}
return true;
case R.id.toggleVolCount:
if (toggleVol == true){
toggleVol = false;
} else {
toggleVol = true;
}
return true;
default: return super.onOptionsItemSelected(menu);
}
感谢您的所有帮助,当我尝试了建议的代码并且无法正常工作时,我回去更改了菜单.以前我创建了一个带有onClick的按钮来创建菜单,当创建带有代码的图标时,我之前编写的代码工作正常.希望这能帮助除了我以外的其他人,所以我不会觉得自己像个白痴.}
解决方法:
在res文件夹中创建一个像drawable一样的文件夹菜单
在该文件夹中创建新的xml文件optionmenu.xml.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuitem"
android:title="Prefs">
</item>
<item android:id="@+id/menuitem1"
android:title="Prefs1">
</item>
</menu>
在onCreate方法中编写此代码….
setOptionMenu(R.menu.optionmenu);
并且在菜单的覆盖方法中编写此代码…..
@Override
public boolean onOptionsItemSelected(MenuItem menu) {
switch (menu.getItemId()) {
case R.id.menuitem:
startActivity(new Intent(this, Prefs.class));
break;
case R.id.menuitem1:
startActivity(new Intent(this, Prefs1.class));
break;
default:
break;
}
return true;
}
标签:android,java,android-menu 来源: https://codeday.me/bug/20191003/1850441.html