Android中设置EditText获得焦点时不弹出软键盘

默认EditText在获得焦点时,Touch一下会弹出软键盘(实际上是一个对话框),如果想实现当EditText获得焦点时,不要弹出软键盘,该如何禁掉弹出软键盘呢?
方法1:在onCreate()中调用EditText实例的setInputType(InputType.TYPE_NULL),xml文件中定义EditText时,指定的android:inputType="??",??可以任意。
View.OnTouchListener dateEditTextOnTouchListener = new EditTextOnTouchListener(
        DATE_DIALOG);
mDateEditText.setOnTouchListener(dateEditTextOnTouchListener);
mDateEditText.setInputType(InputType.TYPE_NULL);
试过如果不用上面的OnTouchListener而是用OnClickListener时,会有一个现象:即,当EditText从没有获得焦点到第一次获得焦点时,不会弹出对话框,只有在EditText已经获得焦点的情况下再去点击EditText,此时才会弹出对话框。但是如果不设置OnClickListener,而是设置成OnTouchListener则第一次获得焦点时就会弹出对话框。
方法2:直接将EditText设置为不可获得焦点。
mDateEditText.setFocusable(false);
原文地址:https://www.cnblogs.com/kakafra/p/2696154.html