无法检测到按下的星号/乘法或逗号

时间:2013-06-29 19:16:36

标签: android

标题非常清楚我猜。我尝试了很多方法,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);
};

我也尝试为我正在使用的edittexts设置onKeyListener,但是没有用。 怎么了... ?这是一个bug还是某种? 谢谢,周末愉快!

0 个答案:

没有答案