Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试添加arraylist值时应用程序崩溃_Java_Android - Fatal编程技术网

Java 尝试添加arraylist值时应用程序崩溃

Java 尝试添加arraylist值时应用程序崩溃,java,android,Java,Android,在我的活动中,我希望平均用户提交的评分显示在评分栏中 调用用户评级,然后我用这些值填充ArrayList 这部分代码可以工作,例如:我可以设置评级(array_list.get(index)),并显示正确的评级 我提取线程中的数据,然后尝试在以下处理程序中设置评级: h.postDelayed(new Runnable() { public void run () { if (t.getState() == Thread.Sta

在我的活动中,我希望平均用户提交的评分显示在评分栏中

调用用户评级,然后我用这些值填充ArrayList

这部分代码可以工作,例如:我可以
设置评级(array_list.get(index))
,并显示正确的评级

我提取线程中的数据,然后尝试在以下处理程序中设置评级:

    h.postDelayed(new Runnable() { 
    public void run () {                

        if (t.getState() == Thread.State.TERMINATED) {

            int sum = 0;
            for(int i = 0; i == products.size(); i++)
            {
                sum = sum + products.get(i); //line 256
            }               
            int x = Math.round(sum / products.size());

            ratingbar1.setRating(x);

            return;
        } else {
            h.postDelayed(this, 1000);  
        }
    }
    }
, 1000);
应用程序在打开时崩溃,我在logCat中发现以下错误:

10-27 00:06:31.209: E/AndroidRuntime(859): FATAL EXCEPTION: main
10-27 00:06:31.209: E/AndroidRuntime(859): java.lang.IndexOutOfBoundsException: Invalid index 15, size is 15
10-27 00:06:31.209: E/AndroidRuntime(859):  at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
10-27 00:06:31.209: E/AndroidRuntime(859):  at java.util.ArrayList.get(ArrayList.java:311)
10-27 00:06:31.209: E/AndroidRuntime(859):  at com.example.hikebuddy.Lion$6.run(Lion.java:256)
我试过玩弄这个,但似乎不能再思考了

如果您有任何帮助,我们将不胜感激。

请更换此设备

        for(int i = 0; i == products.size(); i++)
        {
            sum = sum + products.get(i); //line 256
        }  
用这个

        for(int i = 0; i < products.size(); i++)
        {
            sum = sum + products.get(i); //line 256
        }
for(int i=0;i

products.size()是15,但数组从0开始,所以最后一个索引是14。谢谢。:)