维护一个老的项目,突然有天提了个bug,说是呢某个页面搜索框没有光标。本页面要求屏蔽系统输入法,掉用自己写的键盘。捣鼓了小半个小时,才扒拉到问题所在。就此记录一下~
———————————华丽丽的分割线——————————
searchEdit.setInputType(InputType.TYPE_NULL); 项目中在最最开始直接调用了这句,根源所在;然而在高版本中这个方法已经改版,需要相应的改变~
private void hintSystemInput() {
if (android.os.Build.VERSION.SDK_INT <= 10) {//4.0以下 danielinbiti
searchEdit.setInputType(InputType.TYPE_NULL);
} else {
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
try {
Class<EditText> cls = EditText.class;
Method setShowSoftInputOnFocus;
setShowSoftInputOnFocus = cls.getMethod("setShowSoftInputOnFocus",
boolean.class);
setShowSoftInputOnFocus.setAccessible(true);
setShowSoftInputOnFocus.invoke(searchEdit, false);
} catch (Exception e) {
e.printStackTrace();
}
}
//searchEdit.setInputType(InputType.TYPE_NULL);
}
然后就哦了