错误:接收广播意图时出错

时间:2014-03-06 17:25:49

标签: android android-intent indexoutofboundsexception android-broadcast

我从可用的wifi位置获得信号强度。当我运行程序时,我得到输出。但是,当我点击刷新按钮时,我会收到错误,如堆栈跟踪中所述。 我知道在我保留计数器按钮之前,它工作得很好,但在我按下正负按钮后,我只是在点击刷新按钮时出现错误。

你能帮帮我吗。

堆栈追踪:

FATAL EXCEPTION: main
 java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.SCAN_RESULTS flg=0x10000010 } in com.example.wifisignalstrength.MainActivity$1@410f98f8
android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
android.os.Handler.handleCallback(Handler.java:605)
android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4517)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)

dalvik.system.NativeStart.main(Native Method)
03-06 13:15:45.102: E/AndroidRuntime(7139): Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
java.util.ArrayList.get(ArrayList.java:304)
com.example.wifisignalstrength.MainActivity$1.onReceive(MainActivity.java:202)
android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)

1 个答案:

答案 0 :(得分:0)

查看count==15分支。您试图获得空ArrayList的第一个元素(index = 0),因为您只是通过ArrayList<String> arr = new ArrayList<String>();初始化它,但它没有数据。您向其添加数据的唯一位置是count<15 && count>=5分支。

相关问题