我用这行代码来隐藏软键盘。它会导致较旧的API级别出错吗? 我的目标是API级别11到17。 或者如果设备没有软键盘会导致错误吗?
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
答案 0 :(得分:0)
// try this
try {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus()
.getWindowToken(), 0);
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
它会导致较旧的API级别出错吗?
要回答这个问题,您需要阅读类和方法调用的文档。每个类和方法都指示引入的API级别,如下面的屏幕截图所示。
对于每个方法调用:
getWindow()
是在API级别1中引入的setSoftInputMode()
是在API级别3中引入的WindowManager
及其LayoutParams
是在API级别1中引入的SOFT_INPUT_STATE_ALWAYS_HIDDEN
是在API级别3中引入的所以不,您的代码不会因API级别11到17的设备上的Android版本而导致错误。
如果设备没有软键盘会导致错误吗?
我没有听说过任何没有软键盘的设备,但我相信如果没有软键盘,你设置的值就会被忽略。