Android:防止软键盘在聊天窗口中关闭

标签 android android-recyclerview android-edittext chat android-softkeyboard

我正在制作一个聊天应用程序,并希望在聊天窗口可见时保持软键盘打开。当用户点击同一页面上的任何其他控件时,键盘不应隐藏。我的 View 层次结构如下所示:

LinearLayout
   RecyclerView
   LinearLayout

子线性布局有一个 EditText 和一个发送消息的按钮。页面显示后,我请求将焦点放在编辑文本上并使用 SHOW_FORCED 标志显示软输入。问题是当我点击 RecyclerView 或发送按钮时,如果编辑文本有焦点,那么键盘将隐藏。

是否可以确保编辑文本永远不会失去焦点(从而防止键盘消失)?我能够在 iOS 上轻松完成此操作,但我在 Android 上遇到了困难。

最佳答案

如果你想获得 editText 的焦点而不丢失使用它,它对我有用

    edit.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(!edit.hasFocus()){
        edit.requestFocus();
    }
  }
});

关于Android:防止软键盘在聊天窗口中关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66416495/

相关文章:

android - 在kotlin中使用 'it'时我的变量名和 'let'有什么区别?

android - 打开 Assets 数据库文件时出现 java.lang.NullPointerException

android - recyclerview 页脚点击加载图片

android - 如何在 quora 中的编辑文本末尾添加问号?

android - USSD 服务不工作

android - 加载一个 vermagic 不匹配的 android 内核模块

android - 滚动时 Recyclerview 更改项目

android - 如何从 RecyclerView 适配器读取 bool 值

android - 禁用 EditText 但接收触摸/点击事件

android - setError 连同 onClick 用于 EditText