gpt4 book ai didi

android - 拼写建议为 android.text.TextWatcher 提供冗余值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:09 24 4
gpt4 key购买 nike

我正在使用 android.text.TextWatcher在我的一个应用程序中监听 EditText 更改的界面。我使用 beforeTextChanged() 和 onTextChanged() 监视更改以允许撤消选项。

通常,一次更改一个字符,例如,如果用户键入“hello”,我将获得 beforeTextChanged() 方法的开始、之后和计数值的以下值:

start = 0; count = 0; after = 1;      // typed 'h'
start = 1; count = 0; after = 1; // typed 'e'
start = 2; count = 0; after = 1; // typed 'l'
start = 3; count = 0; after = 1; // typed 'l'
start = 4; count = 0; after = 1; // typed 'o'

现在,在 ICS/Samsung Galaxy Nexus 上,拼写建议处于 Activity 状态,当我键入相同的文本时,该词在 EditText 中带有下划线,直到我插入一个空格,我得到以下结果:

start = 0; count = 0; after = 1;      // typed 'h'
start = 0; count = 1; after = 2; // typed 'e'
start = 0; count = 2; after = 3; // typed 'l'
start = 0; count = 3; after = 4; // typed 'l'
start = 0; count = 4; after = 5; // typed 'o'

根据文档,后一种行为被视为“用户键入一个 1 个字母的单词,然后将其删除并键入一个 2 个字母的单词,然后将其删除并键入一个 3 个字母的单词,依此类推......” .当我在 EditText 上执行撤消操作时,我得到“hello”、“”、“hell”、“”、“hel”、“”、“he”、“”、“h”,我只想拥有“你好”, ””。

有没有办法阻止拼写建议给出这些值。恕我直言,这违反了方法文档中给出的契约(Contract)。

如果没有,有没有办法阻止对我的编辑文本的建议?

最佳答案

您可以很容易地阻止建议:

<EditText
...
android:inputType="textNoSuggestions" />

我确信这适用于所有 ICS 设备。我相信该字段在旧设备上不可用,但在这种情况下应该不是问题。

关于android - 拼写建议为 android.text.TextWatcher 提供冗余值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656433/

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