0

以下を使用して、メニューを取得します。しかし、メニューが選択されたときにアクションを実行する方法は誰でも私を助けることができます. 前もって感謝します。

 public boolean OnCreateOptionsMenu(Menu menu){
    menu.add(1, 200, 0, "snapshot");
            menu.add("more");
            menu.add("exit");
    return super.onCreateOptionsMenu(menu);
    }

以下を使用してアクションを作成することは可能ですか。ただし、次を使用している間はレイアウトが読み込まれません

public boolean OnOptionsItemsSelected(MenuItem item){
    switch(item.getItemId()){
    case 200: setContentView(R.layout.main2);
    return true;
    }
    return super.onOptionsItemSelected(item);

}
4

2 に答える 2

3

ステップ #1: Java では大文字と小文字が区別されるため、名前OnCreateOptionsMenu()をに変更します。onCreateOptionsMenu()

ステップ 2: Java では大文字と小文字が区別されるため、名前OnOptionsItemsSelected()をに変更します。onOptionsItemSelected()

于 2012-05-05T20:33:30.600 に答える
2

はい、できます!関数名を間違って入力しただけだと思います。このコードは私にとってはうまくいきます:

public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(1, 200, 0, "snapshot");
        menu.add("more");
        menu.add("exit");
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case 200:
                 setContentView(R.layout.main2);
                 return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
于 2012-05-05T20:40:00.530 に答える