在按下按钮时隐藏屏幕键盘



我想知道如何在用户按下按钮后最好地隐藏屏幕上的(软?)键盘。当用户在提交之前输入文本时,他们的键盘可能仍然是可见的,我想缩小他们提交的窗口。

我在这里和这里都找到了问题的答案,但似乎都不能正常工作。键盘仍然可见,但Toast通知显示在顶部。

我的代码,为了清晰:

        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromInputMethod(getCurrentFocus().getWindowToken(), 0);

我也试过:

        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromInputMethod(((EditText)findViewById(R.id.txtToWrite)).getWindowToken(), InputMethodManager.0); 

你试过InputMethodManager.HIDE_NOT_ALWAYS吗?

InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

我认为你也可以尝试从EditText/SearchView清除焦点。例如:

searchBar = (SearchView) v.findViewById(R.id.ditto_search_bar);
searchBar.clearFocus();

相关内容

  • 没有找到相关文章

最新更新