首页 > 解决方案 > 单击TextView(设置为可聚焦)后如何在android上隐藏软键盘?

问题描述

继续 Android setError("error") not working in Textview 中给出的答案 应用解决方案后,即将文本视图更改为可聚焦,单击该文本视图时会弹出一个键盘。怎么隐藏。

PS 我试过 onFocusChangeListener 和 onTouchListener

我想知道在我尝试这个时在哪里调用这个隐藏键盘方法,但这并没有解决问题;

    mEndTimeView.setOnClickListener(v -> {
        InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        if(ViewUtils.isKeyboardShown(mEndTimeView.getRootView())){
            imm.hideSoftInputFromWindow(mEndTimeView.getWindowToken(), 0);
        }
        showEndTimePicker();
    });

标签: androidtextviewandroid-softkeyboard

解决方案


public static void hideKeyboard(Activity activity) {
View view = activity.findViewById(android.R.id.content);
if (view != null) {
    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}  

在按钮单击中调用此方法。


推荐阅读