我想在FragmentDrawer中点击汉堡图标时隐藏软键盘。我在Fragment中使用ActionBarDrawerToggle。当我在onDrawerOpened和onDrawerClosed中使用输入法管理器时,它显示错误getSystemService和getCurrentFocus方法无法解析。
答案 0 :(得分:1)
设置" Id"主要布局。并且在" OnClickListener"调用粘贴在下面的方法。
public static void hideKeyboard(Activity activity) {
if (activity != null) {
if (activity.getCurrentFocus() != null) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity
.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus()
.getWindowToken(), 0);
}
}
}
答案 1 :(得分:0)
将Activity用于getCurrentFocus
@Override
public void onDrawerStateChanged(int newState) {
InputMethodManager inputManager = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}