Android 我一直在做各种各样的事
继续获取ArrayIndexOutofBounds在尝试显示特定项表单时出现异常ArrayList数据在logcat中显示良好,但在顶部显示抛出异常后,请帮助这是android的新代码Android 我一直在做各种各样的事,android,Android,继续获取ArrayIndexOutofBounds在尝试显示特定项表单时出现异常ArrayList数据在logcat中显示良好,但在顶部显示抛出异常后,请帮助这是android的新代码 public void loadData(){ InputStream file = ourContext.getResources().openRawResource(R.raw.cashpot); BufferedReader reader = new BufferedRead
public void loadData(){
InputStream file = ourContext.getResources().openRawResource(R.raw.cashpot);
BufferedReader reader = new BufferedReader(new InputStreamReader(file));
String line ="";
ArrayList<String> values = new ArrayList<String>();
try {
while((line = reader.readLine()) != null) {
values.add(line);
// String[] strings = line.split(",");
/*for(String s : strings) {
values.add(s);
}*/
}
reader.close();
//for(String s : values) Log.d("CSV Test", s);
for(int i = 0; i < values.size();i++){
String[] data = values.get(i).split(",");
Log.d("Test String",data[2] );
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void loadData(){
InputStream file=ourContext.getResources().openRawResource(R.raw.cashpot);
BufferedReader reader=新的BufferedReader(新的InputStreamReader(文件));
字符串行=”;
ArrayList值=新的ArrayList();
试一试{
而((line=reader.readLine())!=null){
值。添加(行);
//String[]strings=line.split(“,”);
/*用于(字符串s:字符串){
价值。添加(s);
}*/
}
reader.close();
//对于(字符串s:值)Log.d(“CSV测试”,s);
对于(int i=0;i
您的某些行没有逗号(,)(或1个逗号),您正在尝试按逗号拆分它们并将其存储到数据数组中。您正在访问数据[2]位置。可能没有创建,这就是为什么会出现此异常 数组中可能没有在“,”上拆分后创建的第三个元素。
您可以在访问数据[2](可能不存在)之前打印数据的值。
或者,您可以调试程序,然后一步一步地进行,并监视每个变量的值。当您遇到这样的运行时异常时,请在运行时检查值的同时单步执行代码调试。其中一个/部分将不具有预期值。首先设置断点。拆分可能不会返回包含3个元素的数组?这意味着数据[2]不存在。在访问数据数组中的任何元素之前,请尝试打印数据数组。旁注:应在
finally
块中调用reader.close()
,以确保正确关闭资源。