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

asynctask의 doInBackground 도중 getview가 호출되는 이유를 알고 싶습니다.

0 추천

안녕하세요. 리스트를 갱신하다가 asynctask의 doInBackground 함수 도중에 getview가 호출이 되서 아래와 같은 오류가 납니다.

@Override
protected void onPostExecute(Void result) {
if (null != pDialog && pDialog.isShowing()) {
pDialog.dismiss();
}
Log.e("step","step8") ;
adapter.notifyDataSetChanged();
}
}
 
getview호출은 위와 같이 해놨는데... 이상하게 그전에 호출이 됩니다. 다른 원인이 있어보이는데 
 
리스트의 높이나 길이는 wrap_content 를 모두 match_parent로 변경한 상태입니다.
08-09 18:06:22.462: E/step(24453): step4
08-09 18:06:22.472: E/step(24453): step5
08-09 18:06:22.502: E/step(24453): step5
08-09 18:06:22.522: E/step(24453): step5
08-09 18:06:22.532: E/step(24453): step5
08-09 18:06:22.682: E/step(24453): step6
08-09 18:06:22.682: E/step(24453): step7
08-09 18:06:22.682: E/AndroidRuntime(24453): FATAL EXCEPTION: main
08-09 18:06:22.682: E/AndroidRuntime(24453): 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(16908298, class android.widget.ListView) with Adapter(class com.wordwarrior2.ActivityMainList$PersonAdapterOne)]
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.ListView.layoutChildren(ListView.java:1540)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.AbsListView.onLayout(AbsListView.java:2141)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1672)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1530)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.LinearLayout.onLayout(LinearLayout.java:1443)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1672)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1530)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.LinearLayout.onLayout(LinearLayout.java:1443)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at com.jeremyfeinstein.slidingmenu.lib.CustomViewAbove.onLayout(CustomViewAbove.java:476)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1003)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.View.layout(View.java:13859)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1892)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1711)
08-09 18:06:22.682: E/AndroidRuntime(24453): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1014)
 
무슨 문제일까요? 조언 부탁드립니다^^:;
 
익명사용자 님이 2014년 8월 9일 질문
Adapter 종류가 뭔가요?
데이터 변경하면 내부적으로 notificationChange가 호출 되는게 아닐까.. 하는 추측을..

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...