阻止EditText中的物理键盘输入

时间:2015-12-09 17:55:36

标签: android input keyboard android-edittext hardware

我有一个EditText,不允许用户通过键盘输入任何内容(软或硬)。此EditText应仅允许用户通过应用程序在屏幕上显示的键(按钮)输入内容。 我已经禁用了软键盘,但我找不到禁用硬件键盘输入的方法。通过硬件键盘输入可以使用配置为允许通过硬件键盘输入的仿真器来完成。 所以,我的问题是,如何通过EditText中的物理键盘阻止输入? 谢谢!

2 个答案:

答案 0 :(得分:3)

终于搞定了! 代码:

editText.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            return true;
        }
    });

说明:
返回true将告诉听众我已经处理了硬件键盘输入。基于Android文档(http://developer.android.com/reference/android/view/View.OnKeyListener.html

  

View.OnKeyListener:将硬件键事件调度到此视图时要调用的回调的接口定义。在将键事件提供给视图之前将调用回调。这仅适用于硬件键盘;软件输入法没有义务触发这个监听器。

     

onKey(View v,int keyCode,KeyEvent事件)   将硬件键分派给视图时调用。

答案 1 :(得分:1)

您可以根据xml布局中的需要尝试这些

android:longClickable="false"
android:clickable="false"    
android:cursorVisible="false"
android:editable="false"

然后让edittext显示用户通过您在应用程序中创建的键盘输入的内容。