Я пытаюсь сделать простое действие, в котором есть меню с двумя кнопками. Первая кнопка загрузит отдельное действие, в то время как вторую кнопку я оставляю, пока нечего делать. Я поместил операторы журнала повсюду, но выполняется только тот, который находится в 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
1 ответ
Используйте onOptionsItemSelected(MenuItem item)
. см. здесь.
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.