gpt4 book ai didi

android - 如何在没有 EditText 的情况下从 Android 软键盘附加按键事件?

转载 作者:行者123 更新时间:2023-11-30 00:32:12 25 4
gpt4 key购买 nike

我想在没有 EditText 的情况下从软键盘附加按键事件。我已经覆盖了一些方法。但不起作用。

这是我打开软键盘的代码。

public class MyActivity extends Activity {

public void OpenKeyboard() {
InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.toggleSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.SHOW_FORCED, 0);
}

@Override
public boolean dispatchKeyEvent(KeyEvent e) {
if(e.getAction() == KeyEvent.ACTION_DOWN)
Log.d("displatch", "clicked.."); // NOT-WORKING..

return super.dispatchKeyEvent(e);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN)
Log.d("onKeyDown", "clicked.."); // NOT-WORKING..

return super.onKeyDown(keyCode, event);
}
}

请找到解决方案。谢谢。

最佳答案

你可以实现 KeyEvent.Callback

public class SomeActivity extends AppCompatActivity implements KeyEvent.Callback
{
//...
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_D:
moveShip(MOVE_LEFT);
return true;
case KeyEvent.KEYCODE_F:
moveShip(MOVE_RIGHT);
return true;
case KeyEvent.KEYCODE_J:
fireMachineGun();
return true;
case KeyEvent.KEYCODE_K:
fireMissile();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
}

您可以在 Handling Keyboard Actions 中阅读更多内容

关于android - 如何在没有 EditText 的情况下从 Android 软键盘附加按键事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44105450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com