0

を使用しようとしていますが、配列setTextを使用したいと考えています。String最初に を作成しString []、次に にデータを割り当て、次に に割り当てString[0]たいのですが.setText(String[0])TextViewこれは正しい方法ですか? 注: StringTokenizer を使用して、テキストファイル内の文字列を分割しています

  try {
    filename = "myk.txt";
    FileReader filereader = new FileReader(Environment.getExternalStorageDirectory() +      "/Q/" + filename);
    BufferedReader bufferedreader = new BufferedReader(filereader);


      try {
        while ((text = bufferedreader.readLine()) != null){
            sb.append(text);
            sb.toString().split(";");
            tokens = new StringTokenizer(sb.toString(), ";");

            ///NULLPOINTER EXEPTION HERE//// if (tokens.countTokens() > 0){questionfromfile[0] = tokens.nextToken();
            }


        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
 ////ETC ...//// and now textview.setText(question[0]);
4

2 に答える 2

0

確かに、あなたは次のようなものを意味します

String[] strings = new String [5];
strings[0] = "foobar";
component.setText(strings[0]);
于 2012-04-28T19:46:06.370 に答える
0

なぜこの行があるのですか:

sb.toString().split(";");

?

文字列が不変であること、つまり、使用する標準 API を使用すると、文字列自体が変更されることはなく、代わりに新しいオブジェクトが作成されることを忘れていませんか?

javadocsが言うように、 StringTokenizerについて:

StringTokenizer は、新しいコードでの使用は推奨されていませんが、互換性のために保持されているレガシー クラスです。この機能が必要な場合は、代わりに String の split メソッドまたは java.util.regex パッケージを使用することをお勧めします。

于 2012-04-28T23:08:06.320 に答える