android keylistener失去关键水龙头

时间:2011-01-09 01:48:58

标签: android keylistener

我正在使用keylistener获取关键点击。问题是,一旦你点击删除键,下一个键敲击不会注册。之后的关键点继续工作。如果我连续点击2个删除,它们可以工作,只有其他键没有。他们只是消失了。

我在“if(keycode”部分)之前进行了日志测试,并且在按下第一次删除后没有显示任何内容,除非是另一次删除。

我正在使用以下代码(感谢Shawn)。:

itemPrice.setKeyListener(new CalculatorKeyListener());
itemPrice.setRawInputType(Configuration.KEYBOARD_12KEY);

class CalculatorKeyListener extends NumberKeyListener {
    public int getInputType() {
 return InputType.TYPE_CLASS_NUMBER;
    }

    @Override
    public boolean onKeyDown(View view, Editable content, int keyCode, KeyEvent event)
    {
 if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) {
     digitPressed(keyCode - KeyEvent.KEYCODE_0);
 } else if (keyCode == KeyEvent.KEYCODE_DEL) {                                         
     deletePressed();
 }
 return true;
    }

    @Override
    protected char[] getAcceptedChars() {
 return new char[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    }
}

有了这个问题,keylistener对我没有任何价值。必须有一些我缺少的东西。

谢谢,

0 个答案:

没有答案