我正在制作一个聊天应用程序,并希望在聊天窗口可见时保持软键盘打开。当用户点击同一页面上的任何其他控件时,键盘不应隐藏。我的 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/