タイトルはかなり明確だと思います.onKeyListeners、dispatchKeyEvent、onKeyDownなど、多くの方法を試しましたKEYCODE_NUMPAD_MULTIPLY , KEYCODE_STAR , KEYCODE_COMMA , KEYCODE_NUMPAD_COMMA
.. これの問題は何ですか?問題なく動作ENTER and BACK
しています。検出しようとした方法のいくつかを次に示します。問題がある場合は、Nexus 10でこれらすべてを試しています。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
ShowDialog3();
return true;
}
if ((keyCode == KeyEvent.KEYCODE_NUMPAD_COMMA)) {
EditText eddd = (EditText) getCurrentFocus();
eddd.append(".");
return true;
}
if ((keyCode == KeyEvent.KEYCODE_NUMPAD_MULTIPLY)) {
enter();
return true;
}
return super.onKeyDown(keyCode, event);
}
別の試み:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
if (event.getAction() == KeyEvent.ACTION_UP) {
enter();
return true;
}
}
if (event.getKeyCode() == KeyEvent.KEYCODE_STAR) {
if (event.getAction() == KeyEvent.ACTION_UP) {
enter();
return true;
}
if ((event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_COMMA)) {
EditText eddd = (EditText) getCurrentFocus();
eddd.append(".");
return true;
}
}
return super.dispatchKeyEvent(event);
};
また、使用している編集テキストに onKeyListener を設定しようとしましたが、うまくいきませんでした。どうしたの... ?それはバグですか、それとも何らかの種類ですか?ありがとう、そして素敵な週末を!