[英]Android: fill spinner with items in text file
我希望填充微調器在我的主機上的文本文件中的項目。 文本文件內容以“\\ n”字符分隔:
Afghanistan
Albania
Algeria
Andorra
Angola
我寫這段代碼,但我有這個錯誤:
03-10 12:32:07.716: E/AndroidRuntime(7670):
FATAL EXCEPTION: Thread-69056
03-10 12:32:07.716:
E/AndroidRuntime(7670):
java.lang.ArrayIndexOutOfBoundsException:
length=91; index=91
bo.write(buffer);
String s = bo.toString();
final Vector<String> str = new Vector<String>();
String[] line = s.split("\n");
int index = 0;
while (line[index] != null) {
str.add(line[index]);
index++;
}
你需要改變條件..用這個:
while (line[index] != null) {
str.add(line[index]);
index++;
}
如果說行的大小是10,則index ++將使它成為11.因此,行[11]不會為null,而是拋出一個ArrayIndexOutOfBoundsException
。
將條件更改為:
for(int i=0;i<line.length;i++) {
if(line[i] != null) {
str.add(line[index]);
}
}
您需要在for循環中檢查String數組的長度
for(int i=0;i<line.length;i++) {
if(line[i] != null) {
str.add(line[index]);
}
}
將代碼更改為:
bo.write(buffer);
String s = bo.toString();
final Vector<String> str = new Vector<String>();
String[] line = s.split("\n");
int index = 0;
while (index < line.length) {
str.add(line[index]);
index++;
}
您將獲得java.lang.ArrayIndexOutOfBoundsException
因為您沒有對行數組進行綁定檢查。
它應該是:
int index = 0, length = line.length;
while (index < length) {
str.add(line[index++]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.