首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在TextView中的特定行获取文本

如何在TextView中的特定行获取文本
EN

Stack Overflow用户
提问于 2011-06-07 23:07:08
回答 2查看 16.4K关注 0票数 43

我有一个X行长的TextView。我如何得到文本,例如,第3行?

例子:我有这个TextView

,这是第1行

这是第2行

这是第3行

我希望能够在这些行中的任何一行获得String,例如在第3行获取String将返回“这是第3行”。搜索换行不是我需要的解决方案,因为它没有考虑到文本包装。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-08 02:20:18

您可以使用textView.getLayout().getLineStart(int line)getLineEnd查找文本中的字符偏移量。

然后,您可以只使用textView.getText().substring(start, end) --或者如果您使用Spannable进行格式化/等等,则使用子序列。

票数 56
EN

Stack Overflow用户

发布于 2018-09-21 09:47:02

下面是一些代码来补充已接受的答案:

代码语言:javascript
运行
复制
List<CharSequence> lines = new ArrayList<>();
int count = textView.getLineCount();
for (int line = 0; line < count; line++) {
    int start = textView.getLayout().getLineStart(line);
    int end = textView.getLayout().getLineEnd(line);
    CharSequence substring = textView.getText().subSequence(start, end);
    lines.add(substring);
}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6272614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档