2012-04-07 27 views
0

我目前正在構建一本書籍應用程序(有點)。所以有很多字符串,用戶可以選擇他想從哪一行開始閱讀。因此,例如在第一章的字符串數組中有200個字符串。用戶希望從第20行開始閱讀(因爲他已經閱讀過這些文章)。我如何顯示20-200的所有字符串? 我有:在Android中顯示多個字符串數組

Resources res = getResources(); 
    String[] Book= res.getStringArray(R.array.ChapterOne); 
    TextView ChapterOne= (TextView) findViewById(R.id.Text); 
    SuraAlFateha.setText(Book[20]); 

但這只是diplays 20的線,但我希望它顯示從20(20-200)以下的所有行。 我該怎麼做? 謝謝。

回答

1

當你設置你需要一次設置所有文字,像文本:

String resultString = ''; 

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

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

或類似的東西。

然而,你應該計算你需要多少空間,並在開始附加字符串之前保留它,否則你的運行時和內存使用率可能會變得很高。

+0

感謝:D它幫助 – Ahmad 2012-04-07 16:44:04

1

Book [20]將簡單地爲您提供數組的第20個元素,如果您希望在最後獲取20的文本,則需要將元素的範圍連接到一個字符串中。

您可以使用textarray utils來實現這一點。

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

感謝:D它幫助 – Ahmad 2012-04-07 16:46:43