Android 我一直在做各种各样的事

Android 我一直在做各种各样的事,android,Android,继续获取ArrayIndexOutofBounds在尝试显示特定项表单时出现异常ArrayList数据在logcat中显示良好,但在顶部显示抛出异常后,请帮助这是android的新代码 public void loadData(){ InputStream file = ourContext.getResources().openRawResource(R.raw.cashpot); BufferedReader reader = new BufferedRead

继续获取ArrayIndexOutofBounds在尝试显示特定项表单时出现异常ArrayList数据在logcat中显示良好,但在顶部显示抛出异常后,请帮助这是android的新代码

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()
,以确保正确关闭资源。