我试图在其他帖子中找到答案,但是我真的找不到我想要的东西。
我正在构建聊天应用程序,我希望在单击带有聊天消息的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);
}
答案 0 :(得分:0)
将onTouchListener()覆盖到RecyclerView并从中调用hideKeyboard()方法。
答案 1 :(得分:0)
您可以尝试以下方法:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
在其他情况下它也对我有用,我还没有尝试过RecyclerView