我目前正在构建一个Book-App (某种)。因此有很多字符串,用户可以选择从哪一行开始阅读。例如,第一章的字符串数组中有200个字符串数组。并且用户想要从第20行开始阅读(因为他之前已经阅读了行)。如何显示20-200之间的所有字符串?我有:
Resources res = getResources();
String[] Book= res.getStringArray(R.array.ChapterOne);
TextView ChapterOne= (TextView) findViewById(R.id.Text);
SuraAlFateha.setText(Book[20]);但这只是显示第20行,但我希望它显示从20 (20-200)开始的所有行。我该怎么做呢?谢谢。
发布于 2012-04-08 00:30:14
设置文本时,需要一次设置所有文本,如下所示:
String resultString = '';
for ( int i = 20; i < Book.length; i++ )
resultString = resultString + "\n" + Book[i];
SuraAlFateha.setText( resultString.substring( 1 ) );或者类似的东西。
但是,在开始字符串追加之前,您应该计算需要多少空间并保留它,否则您的运行时和内存使用量可能会达到天价。
发布于 2012-04-08 00:38:17
Book20只会给你提供数组的第20个元素,如果你想得到20个元素的结束,你需要将元素的范围连接到一个字符串中。
您可以使用text和array实用程序来简化这一过程。
String joinedLines = TextUtils.join("\n", java.utils.Arrays.copyOfRange(Book, 20, Book.length));
SuraAlFateha.setText(joinedLines);https://stackoverflow.com/questions/10056150
复制相似问题