gpt4 book ai didi

java - 使用 Spans 获取 EditText 的左侧部分文本

转载 作者:行者123 更新时间:2023-12-01 18:43:19 24 4
gpt4 key购买 nike

我的 Android 应用程序的布局中有一个 EditText。

EditText 可以包含带有可选 ImageSpan 的文本。

在某个时刻,用户可以执行一些编辑,即可以编辑文本和/或删除跨度。

我得到插入符位置

 int caretPosition= editText.getSelectionStart();

此时我需要知道左侧的文本,没有跨度。

我的意思是,如果左侧不存在跨度,则返回的文本正是预期的,而如果存在一些跨度,则文本没有空格或其他字符来代替跨度。

示例

aaaaaaaaaaa<span>bbbbbb<span>cccc_dddddd<span>eeeeee

这里的字符 _ 代表光标位置(但它没有任何空格)。

我的目标是得到这个字符串:

aaaaaaaaaaabbbbbbcccc

这很困难,因为看起来跨度就像一个字符,但我不确定。而且我不知道如何拆分可编辑项以在左侧部分进行迭代。

如何实现这一目标?

最佳答案

我认为这就是解决方案:

int caretPosition=editText.getSelectionStart();
Spannable spannable=editText.getText();
String leftPartWithoutSpans=spannable.subString(0,caretPosition).toString();

关于java - 使用 Spans 获取 EditText 的左侧部分文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879335/

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