Я хочу, чтобы у вас была возможность выбрать опцию с помощью PopupMenu с помощью клавиш (например, цифр 1-4). Устройство, для которого я пишу приложение, имеет встроенную цифровую клавиатуру, что делает их всегда доступными (не используя мягкую клавиатуру).Detect keyup, когда отображается PopupMenu
Цель состоит в том, чтобы пользователь смог нажать кнопку/номер и меню будет показано, что работает, здесь (это в моей деятельности):
@Override
public boolean onKeyUp(int keyCode, KeyEvent event){
Log.d("onKeyUp", KeyEvent.keyCodeToString(keyCode));
if (event.getKeyCode() == KeyEvent.KEYCODE_5) {
showPopupMenu((Button) findViewById(R.id.btnMenu));
}
return true;
}
Я хотел бы можно затем выбрать одну из опций из меню с помощью клавиатуры, однако, когда меню видно, событие onKeyUp не запускается при нажатии клавиши.
Вот код меню:
public void showPopupMenu(View v){
PopupMenu popupMenu = new PopupMenu(this, v);
final MenuInflater menuInflator = popupMenu.getMenuInflater();
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
//Do something
return true;
}
});
menuInflator.inflate(R.menu.current_screen_menu, popupMenu.getMenu());
popupMenu.show();
}
Это используется Android 4.1 (API 16). Спасибо за любую помощь! Рад предоставить дополнительный код там, где это необходимо.
Не могли бы вы найти способ сделать это? У меня такая же проблема! –
Эй, извините, не могу сказать, что я смог добиться этого. Я закончил тем, что обошел его, используя простой и понятный «Диалог», который вы можете найти http://developer.android.com/guide/topics/ui/dialogs.html – djston