我正在尝试使用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]);
答案 0 :(得分:0)
当然,你的意思是
String[] strings = new String [5];
strings[0] = "foobar";
component.setText(strings[0]);
答案 1 :(得分:0)
为什么你有这条线:
sb.toString().split(";");
您是否忘记了字符串是不可变的,这意味着使用您使用的标准API,字符串将永远不会自行更改,而是创建新对象?
关于StringTokenizer,javadocs说:
StringTokenizer是为保持兼容性而保留的旧类 原因虽然在新代码中不鼓励使用它。建议 任何寻求此功能的人都使用String的split方法 或者改为java.util.regex包。