-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のような1つのフォルダメニューを作成します

そのフォルダに新しい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);

そしてMenuのoverideメソッドでこのコードを書いてください.....

@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 に答える