Android 如何获取TextView中特定行的文本
我有一个Android 如何获取TextView中特定行的文本,android,textview,Android,Textview,我有一个TextView,它有X行长。我怎样才能得到第三行的文本呢 示例:我有这个TextView 这是一号线 这是2号线 这是3号线 我希望能够在这些行中的任何一行单独获取字符串,例如在第3行获取字符串将返回“这是第3行”。搜索换行符不是我需要的解决方案,因为它不考虑文本换行。可以使用textView.getLayout().getLineStart(int-line)和getLineEnd查找文本中的字符偏移量 然后,您可以只使用textView.getText().substring(开始
TextView
,它有X行长。我怎样才能得到第三行的文本呢
示例:我有这个TextView
这是一号线
这是2号线
这是3号线
我希望能够在这些行中的任何一行单独获取
字符串
,例如在第3行获取字符串将返回“这是第3行”。搜索换行符不是我需要的解决方案,因为它不考虑文本换行。可以使用textView.getLayout().getLineStart(int-line)
和getLineEnd
查找文本中的字符偏移量
然后,您可以只使用textView.getText().substring(开始、结束)
——或者如果您正在使用Spannables进行格式设置/etc.以下是一些代码来补充公认的答案:
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);
}
List line=new ArrayList();
int count=textView.getLineCount();
用于(int line=0;line
谢谢!我不知道TextView
有自己的特殊布局,尽管这很有意义。这正是我所需要的。