Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获取TextView中特定行的文本_Android_Textview - Fatal编程技术网

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
有自己的特殊布局,尽管这很有意义。这正是我所需要的。