Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 For循环变量值超出其限制_Java_Android - Fatal编程技术网

Java For循环变量值超出其限制

Java For循环变量值超出其限制,java,android,Java,Android,我写了一个for循环,在谷歌地图上添加多个地理围栏,但它给了我IndexOutOfBoundsException:无效索引3,大小为3。但是不可能有这个问题,因为我的条件是radius

我写了一个for循环,在谷歌地图上添加多个地理围栏,但它给了我IndexOutOfBoundsException:无效索引3,大小为3。但是不可能有这个问题,因为我的条件是radius 代码:

错误代码:

11-18 12:15:45.187 1282-1282/com.example.assignment E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.assignment, PID: 1282
java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at com.example.assignment.fragments.MapsFragment$6.onSuccess(MapsFragment.java:429)
at com.example.assignment.fragments.MapsFragment$6.onSuccess(MapsFragment.java:424)
at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@17.0.2:4)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.internal.tasks.zzb.dispatchMessage(com.google.android.gms:play- 
services-tasks@@17.0.2:6)
at android.os.Looper.loop(Looper.java:179)
at android.app.ActivityThread.main(ActivityThread.java:5650)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:681)
根据我的评论:
在调用
geofencingClient.addgeofines
之前,声明一个新的radius变量,如下
final int newRadius=radius
并在
OnSuccessListener
中使用
newRadius
,而不是
radius
。最后一个变量基本上确保声明的整数不能更改,因为as
radius
将由for循环不断更新,并且因为
onSuccess
在准备就绪时会被回调
radius
可能已经增加一次以上,因此您的问题就出现了。

这是否回答了您的问题问题?请检查“id\u列表”和“radius\u列表”的大小,如果两者不同,则这是导致问题的原因。@Zain-Hmm,我不这么认为,我所做的与接受的答案相同said@HaseebMirza嗨,我已经编辑了我的日志,列表的大小等于3后,只调用此代码。@HaseebMirza也非常感谢HaseebMirza先生为您指出了解决此问题的正确方向。清晰简单的解决方案和解释。谢谢你!很乐意帮忙
11-18 12:15:45.157 1282-1282/com.example.assignment E/id_list: 3
11-18 12:15:45.157 1282-1282/com.example.assignment E/lat_list: 3
11-18 12:15:45.157 1282-1282/com.example.assignment E/lng_list: 3
11-18 12:15:45.157 1282-1282/com.example.assignment E/radius_list: 3
11-18 12:15:45.157 1282-1282/com.example.assignment D/MapsFragment: init: 0
11-18 12:15:45.157 1282-1282/com.example.assignment D/MapsFragment: init: 1
11-18 12:15:45.157 1282-1282/com.example.assignment D/MapsFragment: init: 2
11-18 12:15:45.157 1282-1282/com.example.assignment D/MapsFragment: latlng_list size: 3
11-18 12:15:45.158 1282-1282/com.example.assignment E/b4: 0
11-18 12:15:45.160 1282-1282/com.example.assignment E/middle: 0
11-18 12:15:45.168 1282-1282/com.example.assignment D/TAG: here
11-18 12:15:45.168 1282-1282/com.example.assignment E/b4: 1
11-18 12:15:45.168 1282-1282/com.example.assignment E/middle: 1
11-18 12:15:45.168 1282-1282/com.example.assignment D/TAG: here
11-18 12:15:45.168 1282-1282/com.example.assignment E/b4: 2
11-18 12:15:45.168 1282-1282/com.example.assignment E/middle: 2
11-18 12:15:45.169 1282-1282/com.example.assignment D/TAG: here
11-18 12:15:45.182 1282-1282/com.example.assignment D/MapsFragment: onSuccess: 3
11-18 12:15:45.187 1282-1282/com.example.assignment E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.assignment, PID: 1282
java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at com.example.assignment.fragments.MapsFragment$6.onSuccess(MapsFragment.java:429)
at com.example.assignment.fragments.MapsFragment$6.onSuccess(MapsFragment.java:424)
at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@17.0.2:4)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.internal.tasks.zzb.dispatchMessage(com.google.android.gms:play- 
services-tasks@@17.0.2:6)
at android.os.Looper.loop(Looper.java:179)
at android.app.ActivityThread.main(ActivityThread.java:5650)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:681)