3.0以下版本可以用editText.setInputType(InputType.TYPE_NULL)來實現。或者設置editText.setKeyListener(null)來實現.
3.0以上版本除了調用隱藏方法:setShowSoftInputOnFocus(false),由於是系統內部方法。無法直接調用,所以采用反射的方式來進行調用
if (android.os.Build.VERSION.SDK_INT <= 10) { mEditText.setInputType(InputType.TYPE_NULL); } else { ElderLeaveActivity.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); try { Class<EditText> cls = EditText.class; Method setSoftInputShownOnFocus; setSoftInputShownOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class); setSoftInputShownOnFocus.setAccessible(true); setSoftInputShownOnFocus.invoke(mEditText, false); } catch (Exception e) { e.printStackTrace(); } }