在onStart我显示键盘的方法中:
if (allTags.isEmpty()) {
Utils.showSystemKeyboard(true, tagNameInputView);
}
但是,当您使用主页按钮退出应用程序时,键盘仍保留在显示屏上。如何正确销毁所有不必要的元素,在本例中为键盘。我尝试这种方式,但在中文手机上,键盘不会移除,这与 nexus'a 不同。
@Override
public void onStop() {
super.onStop();
Utils.hideSystemKeyboard(tagNameInputView);
}
键盘隐藏方法:
public static void hideSystemKeyboard(EditText view) {
if (view != null) {
((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
在实现该方法时,我
showSystemKeyboard使用了一个常量:SHOW_FORCED,事实证明,它包含了我在这里发现的问题。另外,如果你对使用哪个常量有疑问,你可以在这里强调很多有用的东西:官方文档。
另外我认为下面的答案会有用。