1

2 つのボタンを持つメニューを持つ単純なアクティビティを作成しようとしています。最初のボタンは別のアクティビティをロードしますが、2 番目のボタンは今のところ何もする必要はありません。私はどこにでもログステートメントを入れましたが、実行されるのは onCreateOptionsMenu のものだけです。

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set up window View
    setContentView(R.layout.main);

    Log.i( "onCreate", "veryBeginning" );
}

public boolean onCreateOptionsMenu( Menu menu ) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate( R.menu.option_menu, menu );
    Log.i( "onCreateOptionsMenu", "hereasd" );
    return true;
}

public boolean onOptionsSelected( MenuItem item ) {
    Log.i( "onOptionsSelected", "start" );
    switch( item.getItemId() ) {
    case R.id.connect:
        Log.i( "onOptionsSelected" , "r.id.connect" );
        startActivity( new Intent(getApplicationContext(), DeviceList.class ) );
        finish();
        return true;
    case R.id.preferences:
        Log.i( "onOptionsSelected" , "r.id.preferences" );
        return true;
    default:
        Log.i( "onOptionsSelected" , "r.id.?" );
        return super.onContextItemSelected( item );
    }
}

デバイスでプログラムを起動し、メニューを開き、両方のボタンを何度もクリックしましたが、LogCat にログが表示されません。

これは私の LogCat です

06-13 14:11:34.643: I/onCreate(15262): veryBeginning
06-13 14:11:49.098: W/KeyCharacterMap(15080): No keyboard for id 0
06-13 14:11:49.098: W/KeyCharacterMap(15080): Using default keymap:/system/usr/keychars/qwerty.kcm.bin
06-13 14:11:49.098: I/onCreateOptionsMenu(15080): hereasd
4

1 に答える 1

2

使用してonOptionsItemSelected(MenuItem item)ください。ここを参照してください。

于 2012-06-13T18:22:59.393 に答える