-2

我一直试图弄清楚为什么当我按下按钮时我的布尔值没有改变,当我手动更改它时它起作用了,但它没有做任何事情。我试图按照这个词的教程进行操作,但它们不起作用。谁能指出我哪里出错了?

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 的按钮来创建菜单,当使用代码创建图标时,我之前编写的代码运行良好。希望这对我以外的人有所帮助,所以我不觉得自己像个白痴。}

4

1 回答 1

1

在 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;
    }
于 2012-06-18T08:49:29.673 回答