0

我从可用的wifi位置获取信号强度。当我运行程序时,我得到输出。但是,当我点击刷新按钮时,出现错误,如堆栈跟踪中所述。 我知道,在我保留计数器按钮之前,它工作得很完美,但是当我保留加号和减号按钮后,我收到错误,只有当我点击刷新按钮时。错误:接收广播意图时出错

你能帮我一把。

堆栈跟踪:

FATAL EXCEPTION: main 
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.SCAN_RESULTS flg=0x10000010 } in [email protected] 
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) 
+0

'MainActivity.java:202'上有什么? – nikis

+0

@nikis The Line:String [] tempSplit1 = arr.get(0).split(“”); – user3365810

+0

请在该行附加更多代码 – nikis

回答

0

拿上count==15分支看看。您试图获得空的ArrayList的第一个元素(索引= 0),因为您只通过ArrayList<String> arr = new ArrayList<String>();初始化它,但它没有数据。你把数据放到它的唯一地方是count<15 && count>=5分支。