在Android中显示多个字符串数组

时间:2012-04-07 16:21:15

标签: arrays string

我目前正在构建一个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)之后的所有线。 我怎样才能做到这一点? 谢谢。

2 个答案:

答案 0 :(得分:1)

设置文本时,需要一次设置所有文本,例如:

String resultString = '';

for ( int i = 20; i < Book.length; i++ )
    resultString = resultString + "\n" + Book[i];

SuraAlFateha.setText( resultString.substring( 1 ) );

或类似的东西。

然而,你应该计算你需要多少空间并在开始附加字符串之前保留它,否则你的运行时和内存使用量可能会高涨。

答案 1 :(得分:1)

Book [20]将简单地为您提供数组的第20个元素,如果您希望获得20个结尾的文本,则需要将元素范围加入到字符串中。

您可以使用textarray utils来轻松实现这一目标。

String joinedLines = TextUtils.join("\n", java.utils.Arrays.copyOfRange(Book, 20, Book.length));
SuraAlFateha.setText(joinedLines);