解决办法:
在activity时:
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
//Find the currently focused view, so we can grab the correct window token from it.
View view = activity.getCurrentFocus();
//If no view currently has focus, create a new one, just so we can grab a window token from it
if (view == null) {
view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
在dialog等界面时:
public static void hideKeyboardFrom(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
view为当前获取焦点的view.
参考:http://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard
当调用hideSoftInputFromWindow隐藏软键盘不起作用时,提供两种解决方案:一种是在Activity中处理,另一种是在Dialog等界面处理。关键在于获取当前焦点的View并进行操作。参考Stack Overflow相关问题解答。
3339

被折叠的 条评论
为什么被折叠?



