gpt4 book ai didi

java - ArrayIndexOutOfBoundsException : length=20; index=20 when select item from spinner

转载 作者:行者123 更新时间:2023-12-02 06:58:48 24 4
gpt4 key购买 nike

当我第一次从微调器中选择时,一切都很好,当第二次选择时一切都很好但之后当从中选择时,它会显示该错误

E/AndroidRuntime(10594): java.lang.ArrayIndexOutOfBoundsException: length=20;索引=20

public static ArrayList<String> s=new ArrayList<String>();

for(........
s.add(e.child(2).text());
}

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
try{
editPrice.setText(""+Splash.s.get(pos));
}catch (Exception e) {
Toast.makeText(parent.getContext(),"The country is "+pos, Toast.LENGTH_LONG).show();
}
}

最佳答案

Java 索引从 0 开始。因此,如果数组有 20 个元素,则其索引从 019

以这个字符串数组为例:

Values:   A, B, C, D, E     -    length: 5
Indexes: 0, 1, 2, 3, 4

String valueInFIRSTposition= stringArray.get(0); //stringArray[0] for arrays
String valueInSECONDposition= stringArray.get(1); //stringArray[1] for arrays
...
String valueInLASTposition= stringArray.get(stringArray.size()-1); //stringArray[stringArray.length-1] for array

因此,如果您想获取例如“C”,您将获取编号为 2 的索引:

String valueInThirdPosition= stringArray.get(2); //stringArray[2] for arrays

此外,当编写一个迭代数组的 for 循环时,它看起来像这样:

for (int i=0; i<array.size(); i++) {
Object value= array.get(i);
}

因此,第一个索引是0,用于获取数组的第一个元素。在 for 循环的中间部分 ( i<array.size(0) ),这是表示 for 循环WHEN 结束的条件,您会看到它在 BEFORE 最后一个索引之前结束 - 对于原因如上所述。

关于java - ArrayIndexOutOfBoundsException : length=20; index=20 when select item from spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16958143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com