0

私は現在、Book-App(一種)を構築しています。したがって、多くの文字列があり、ユーザーはどの行から読み始めるかを選択できます。たとえば、第 1 章の文字列配列には 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)に続くすべての行を表示したいです。これどうやってするの?ありがとうございました。

4

2 に答える 2

1

テキストを設定するときは、次のようにすべてのテキストを一度に設定する必要があります。

String resultString = '';

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

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

または似たようなもの。

ただし、文字列の追加を開始する前に、必要なスペースを計算して予約する必要があります。そうしないと、ランタイムとメモリの使用量が非常に高くなる可能性があります。

于 2012-04-07T16:30:14.317 に答える
1

Book[20] は単に配列の 20 番目の要素を提供します。最後まで 20 のテキストを取得したい場合は、要素の範囲を文字列に結合する必要があります。

これを簡単にするために、テキスト配列のユーティリティを使用できます。

String joinedLines = TextUtils.join("\n", java.utils.Arrays.copyOfRange(Book, 20, Book.length));
SuraAlFateha.setText(joinedLines);
于 2012-04-07T16:38:17.367 に答える