마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰가 문제인가요??ㅜㅜ

0 추천

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();

}

});

닉스리 (410 포인트) 님이 2013년 10월 1일 질문
닉스리님이 2013년 10월 1일 수정

1개의 답변

0 추천
 
채택된 답변
컨텐츠가 바뀌어는데 갱신을 안해줘서 나는 에러입니다... 즉 데이터가 바뀌면 바로 호출해달라는거져
건방진프로그래머 (26,630 포인트) 님이 2013년 10월 2일 답변
닉스리님이 2013년 10월 2일 채택됨
...