gpt4 book ai didi

android - EditText 的 selectAll() 不选择文本,而是将光标移动到位置 0

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

我的情况是:我有一个 EditText,在它下面有一个按钮,叫做“全选”。它的目的是让用户通过按下它来选择所有文本。
单击按钮时,我在 EditText 上调用 selectAll(),但在某些情况下(通常,当光标已位于某处的文本),光标移动到位置 0(文本开始)并且文本保持未选中状态。第二次单击该按钮将全选。但当然应该在第一次点击时发生。

来自本期:Android EditText selectAll() doesn't works if one taps on the same field in android 4.x only看来这是android 4.0及以上的bug。 (在 Google 问题跟踪器中未发现任何提及)。
有谁知道克服这个问题的方法?似乎问题也在其他选择方法中,而不仅仅是 selectAll()

(p.s. 这个问题有点重复我上面提到的问题。但我打开了另一个问题,因为那个问题的作者很满意并选择了部分答案(设置 android:selectAllOnFocus="true"),而在我的案例和场景中,它对我没有帮助,也没有解决问题。

谢谢。

最佳答案

输入法引起的问题。如果显示光标拖动指针,则选择必须为零宽度。

您需要取消拖动指针。可以通过更改文本来完成。例如替换:

            Editable text = edit.getText();
if (text.length() > 0) {
text.replace(0, 1, text.subSequence(0, 1), 0, 1);
edit.selectAll();
}

我们用相同的符号替换文本的第一个符号。它会导致取消拖动指针并允许进行选择而不会出现错误。

关于android - EditText 的 selectAll() 不选择文本,而是将光标移动到位置 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22933803/

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