gpt4 book ai didi

android - 如何禁用 EditText Android 中的退格行为?

转载 作者:行者123 更新时间:2023-11-29 21:06:07 35 4
gpt4 key购买 nike

例如,我在 EditText 中有以下字符串:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat

正常行为是,当用户在虚拟键盘上长按退格键时,系统会直接删除每个单词,例如:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat

成为

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat

我可以防止此类行为在我的应用中发生吗?

我尝试观察 onKeyDownonKeyUponKeyLongPressonTextChangedafterTextChangedbeforeTextChanged,但没有找到我可以用来防止此类行为的东西。

最佳答案

覆盖它只会让用户感到困惑,这是一个坏主意。但这是键盘在 Android 中的工作方式 - 它们决定显示哪些按钮以及它们响应用户输入的行为。没有办法覆盖它。如果您不喜欢这种行为,我建议您找到一个按您想要的方式工作的键盘。

重写 onKeyXXX 将不起作用,因为它们用于物理按钮,不会由屏幕键盘生成。

如果您必须覆盖它,您需要实现一个 TextWatcher 并在 afterTextChanged 中编辑序列。您需要查找新文本比旧文本小 1 个以上字符的情况,如果是这样,则将文本替换为旧文本减 1 个字符。请注意,这可能会破坏任何启用了自动更正功能的键盘或任何使用完成文本的键盘,具体取决于键盘和 Android 序列事件的方式。

换句话说 - 不要这样做,它带来的麻烦远大于它的值(value),并且对大多数用户来说会崩溃。

关于android - 如何禁用 EditText Android 中的退格行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24513515/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com