外部键盘导致换行而不是 Android 上的搜索 - Kotlin

Posted

技术标签:

【中文标题】外部键盘导致换行而不是 Android 上的搜索 - Kotlin【英文标题】:External Keyboard Causes Line Break Instead of Search on Android - Kotlin 【发布时间】:2022-01-06 13:34:43 【问题描述】:

当用户焦点在搜索中时按 Enter/Submit 会创建一个新的换行符而不是提交搜索。

这似乎只发生在带有物理键盘的模拟环境中。

文本输入是 androidx Jetpack Compose。我添加了以下几行:

singleLine = true,

maxLines = 1,

OutlinedTextField,但所做的只是阻止文本框扩展到下一行。

您可以在下面的屏幕截图中看到光标移动到下一行。光标在那里,几乎看不到,但唯一的变化是文本字段不再扩展为第二行:

搜索在屏幕键盘上工作得很好,所以这不是问题。问题似乎只出在外部物理键盘上。

【问题讨论】:

【参考方案1】:

在 searchView 上使用 onQueryTextChanged,如果您看到插入了 \n ,则将其删除并触发搜索

【讨论】:

谢谢!这实际上确实适用于搜索提交。但是,光标仍会移动到下一行。

以上是关于外部键盘导致换行而不是 Android 上的搜索 - Kotlin的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 设备中添加我自己的键盘而不是默认键盘作为输入

android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决

使用软键盘上的“ENTER”键而不是单击按钮

使用 CSS 隐藏行而不是使用 DataTables 删除节点

sed 创建重复行而不是替换现有行

如何在 Android 键盘中显示换行按钮?