整个RecyclerView上的onClickListener

时间:2018-12-06 16:49:21

标签: android android-recyclerview

我试图在其他帖子中找到答案,但是我真的找不到我想要的东西。

我正在构建聊天应用程序,我希望在单击带有聊天消息的RecyclerView时键盘消失。

使用下面的代码的简单方法不起作用。

recyclerView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.d("RecyclerTest", "Clicked");
                hideKeyboard();
            }
        });

我知道如何在RecyclerView内的项目上实现onClickListener,但我想知道是否有办法在整个RecyclerView上添加onClick,还是我应该不打扰并在onRecyclerView中的每个项目上添加onClick适配器,并在单击任一按钮时隐藏键盘?

编辑:

我的隐藏键盘方法

private void hideKeyboard() {

        InputMethodManager imm = (InputMethodManager) ChatRoom.this.getSystemService(Activity.INPUT_METHOD_SERVICE);

        imm.hideSoftInputFromWindow(ChatRoom.this.getCurrentFocus().getWindowToken(), 0);

    }

2 个答案:

答案 0 :(得分:0)

将onTouchListener()覆盖到RecyclerView并从中调用hideKeyboard()方法。

答案 1 :(得分:0)

您可以尝试以下方法:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

在其他情况下它也对我有用,我还没有尝试过RecyclerView