0
我希望能够使用密钥(即数字1-4)从PopupMenu中选择一个选项。我正在编写应用程序的设备具有内置的数字小键盘,可以随时访问(不使用软键盘)。当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)。谢谢你的帮助!很高兴在需要的地方提供更多代码。
你能找到一个方法来做到这一点?我正面临类似的问题! –
嘿,抱歉不能说我能够得到这个工作。我最终通过使用一个简单而简单的'Dialog'来解决它,你可以找到http://developer.android.com/guide/topics/ui/dialogs.html – djston