从recyclerview中选择一个项目后如何隐藏软键盘?

时间:2018-11-02 07:17:13

标签: android

我有一个带有recyclerview的edittext,其中搜索时将显示一个位置列表。单击列表中的任何项目时,键盘应隐藏。请帮助

4 个答案:

答案 0 :(得分:0)

使用以下代码将键盘隐藏在Item的onClick()中。

View view = this.getCurrentFocus();
if (view != null) {  
       InputMethodManager imm = 
       (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
       imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

答案 1 :(得分:0)

在搜索到的列表中单击时调用此方法

void hideKeybord() {
    View view = this.getCurrentFocus();
    if (view != null) {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }
}

答案 2 :(得分:0)

解决方案::只需将onTouchListener()设置为RecyclerView并隐藏键盘:

yourRecycleView.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        InputMethodManager input = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        input.hideSoftInputFromWindow(v.getWindowToken(), 0);

        return false;
    }
});

希望这会派上用场。

答案 3 :(得分:0)

  

尝试一下-在回收站ViewHolder的onClick中调用此方法

public void hideKeyboard(){
                edittext.clearFocus()
                InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE)
                if (imm != null) {
                    imm.hideSoftInputFromWindow(edittext.windowToken, 0)
                }
    }