10-01 22:47:42.425: E/AndroidRuntime(25111): FATAL EXCEPTION: main
10-01 22:47:42.425: E/AndroidRuntime(25111): java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131361794, class android.widget.ListView) with Adapter(class android.widget.ArrayAdapter)]
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.ListView.layoutChildren(ListView.java:1544)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.AbsListView.onLayout(AbsListView.java:2307)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.View.layout(View.java:14107)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewGroup.layout(ViewGroup.java:4657)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.View.layout(View.java:14107)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewGroup.layout(ViewGroup.java:4657)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.View.layout(View.java:14107)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewGroup.layout(ViewGroup.java:4657)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.View.layout(View.java:14107)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewGroup.layout(ViewGroup.java:4657)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.View.layout(View.java:14107)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewGroup.layout(ViewGroup.java:4657)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2004)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1825)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1120)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4604)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.Choreographer.doCallbacks(Choreographer.java:555)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.Choreographer.doFrame(Choreographer.java:525)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.os.Handler.handleCallback(Handler.java:615)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.os.Handler.dispatchMessage(Handler.java:92)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.os.Looper.loop(Looper.java:137)
10-01 22:47:42.425: E/AndroidRuntime(25111): at android.app.ActivityThread.main(ActivityThread.java:4921)
10-01 22:47:42.425: E/AndroidRuntime(25111): at java.lang.reflect.Method.invokeNative(Native Method)
10-01 22:47:42.425: E/AndroidRuntime(25111): at java.lang.reflect.Method.invoke(Method.java:511)
10-01 22:47:42.425: E/AndroidRuntime(25111): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
10-01 22:47:42.425: E/AndroidRuntime(25111): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
10-01 22:47:42.425: E/AndroidRuntime(25111): at dalvik.system.NativeStart.main(Native Method)
10-01 22:52:50.455: I/Process(25111): Sending signal. PID: 25111 SIG: 9
로그는 이렇게 남습니다. ㅜㅜ
계속 앱이 죽는게 아니라... 어쩌다가 한번씩 죽네요.....
인테넷에 찾아보니깐 밑에 방법을 이용하라고하던데 list.add(...) 다음에 사용하는게 맞는건가요?? 그렇게 사용해도 안되더라고요 ㅠㅠ 다른방법이 있을까요? 아니면 예외처리하는방법이 있을까요?
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
adapter.notifyDataSetChanged();
}
});