用于软键盘的View.OnKeyListener

时间:2016-08-15 14:32:26

标签: android android-layout

我正在使用Edit.OnKeyListener for EditText在按下/触摸某些特殊键时执行某些操作。这是代码的缩写版本:

public class MyKeyListener implements View.OnKeyListener{
    // ...

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.ACTION_UP) {
            if (keyCode == KeyEvent.KEYCODE_DEL) {
                // do some processing
                return true;
            } else if (keyCode == KeyEvent.KEYCODE_0) {
                // do another processing
                return true;
            }
        }
    }
}

问题在于,根据文档,只保证在使用硬键盘时调用OnKeyListener。事实上,我在一些不适用于软键盘的手机上进行了测试。所以我想知道是否有类似于这个监听器的东西适用于软键盘。

1 个答案:

答案 0 :(得分:0)

不能保证,你做不到。

您可以使用TextWatcher并将其附加到任何和所有EditTexts。

或者,您创建自己的KeyboardView并强制用户使用该版本,然后您可以将预期的侦听器附加到它。 https://developer.android.com/guide/topics/text/creating-input-method.html?hl=ja#IMEUI