我正在使用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。事实上,我在一些不适用于软键盘的手机上进行了测试。所以我想知道是否有类似于这个监听器的东西适用于软键盘。
答案 0 :(得分:0)
不能保证,你做不到。
您可以使用TextWatcher
并将其附加到任何和所有EditTexts。
或者,您创建自己的KeyboardView
并强制用户使用该版本,然后您可以将预期的侦听器附加到它。 https://developer.android.com/guide/topics/text/creating-input-method.html?hl=ja#IMEUI