2011-11-23 4 views
3

수정 된 baseadapterr을 사용하여 listview를 가져 와서 목록 항목에 그림을로드합니다. 항목을 클릭하면 활동의 주요 내용이 변경됩니다. 지금 나는 수시로 응용 프로그램이 아마 crached 때문에이 활동.목록보기 StackOverflow - 안드로이드

java.lang.StackOverflowError 
at android.widget.TextView.onDraw(TextView.java:4329) 
at android.view.View.draw(View.java:6993) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.widget.AbsListView.dispatchDraw(AbsListView.java:1499) 
at android.widget.ListView.dispatchDraw(ListView.java:3194) 
at android.view.View.draw(View.java:6996) 
at android.widget.AbsListView.draw(AbsListView.java:2607) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6996) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2054) 
at android.view.ViewRoot.draw(ViewRoot.java:1632) 
at android.view.ViewRoot.performTraversals(ViewRoot.java:1335) 
at android.view.ViewRoot.handleMessage(ViewRoot.java:1991) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:150) 
at android.app.ActivityThread.main(ActivityThread.java:4358) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 
at dalvik.system.NativeStart.main(Native Method) 

영국의 커플 전화 및 모든 항목에 대한 응용 프로그램 테스트는 괜찮 았지만 거의 항상 미국에서 추락했습니다. 목록 항목의 이미지는 Facebook 프로필 사진입니다.

답변

6

활동의 UI가 너무 복잡합니다. 다른 ViewGroups에 보유하고있는 ViewGroups이 너무 많습니다. 에뮬레이터에서 앱을 가져오고 Hierarchy View (Eclipse Perspective 또는 독립형 도구)를 사용하여이 활동의 ​​뷰 계층을 검사하십시오. 루트에서 가장 먼 잎까지 계층 구조에 15 개 이상의 레이어가 있으며 너무 많습니다. 중첩 된 LinearLayout 위젯을 단일 RelativeLayout으로 바꾸는 것과 같이 적은 수의 레이어로 축소하는 방법을 찾아보십시오.

+0

감사합니다. 시도해 보겠습니다. 그러나 나는 더 나쁜 것이 무엇인지 궁금하다. 각 항목 또는 주요 항목의 많은 레이어? 당신이 말한 것처럼 LinearLayout을 없애고 RelativeLayout으로 대체하려고 노력할 것입니다. – goodm