我正在我的应用程序中使用 KeyEvent.现在我必须将KeyEvent
替换为布局中的按钮。我不知道如何将OnclickListener
与 KeyEvent 一起使用。我搜索并得到了一个使用OnTouchListener
的方法 .https://stackoverflow.com/a/13311997/2781359
我试过了。我不知道如何使用它???
现在我想在单击按钮时进行键事件操作。
我当前的方法
public boolean onKeyDown(int keyCode, KeyEvent event)
{
int unicode = event.getUnicodeChar();
if (unicode == 0)
switch (event.getKeyCode())
{
case KeyEvent.KEYCODE_VOLUME_UP:
unicode = KeyboardAction.UNICODE_ARROW_UP;
break;
case KeyEvent.KEYCODE_VOLUME_DOWN:
unicode = KeyboardAction.UNICODE_ARROW_DOWN;
break;
}
if (unicode != 0)
{
this.application.sendAction(new KeyboardAction(unicode));
}
return super.onKeyDown(keyCode, event);
}
所以帮助我朝着正确的方向前进:)
感谢您的帮助...
编辑
当我按下音量调高按钮时,发生以下操作
unicode = KeyboardAction.UNICODE_ARROW_UP;
但是我想在我的布局中使用普通按钮(使用 OnClickListener)执行此操作。
你的意思是你想要一个按钮就像其中一个按钮被按下一样吗?我在我的应用程序中执行此操作以模拟使用以下代码按下的后退按钮:
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
在安卓中点击按钮时触发后退按钮功能