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,字符串永远不会改变自己,而是创建新对象?

关于 StringTokenizer,正如javadocs所说:

StringTokenizer 是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人改用 String 的 split 方法或 java.util.regex 包。

于 2012-04-28T23:08:06.320 回答