2011-11-23 8 views
3

에서 새로운 활동을 추가하는 동안 나는 tab3.4에서 오전 때이 오류가 발생하고java.lang.StackOverflowError의 활동 그룹

<TabActivity> 
    <tab1><Activity name="home"> 
    <tab2><Activitygroup><activity name="XYZ"> 
       <activity name="options"> 
       <activity name="thankYou"> 
    <tab3> 
     <TabActivity> 
      <tab3.1><Activitygroup><activities name="PQR"> 
      <tab3.2><activity name="today"> 
      <tab3.3><activity name="history"> 
      <tab3.4><Activitygroup> 
        <activity name="reOrder"> from this I will open 
        <Activity name="options"> 
     <TabActivity> 
    <tab4><Activitygroup><activities name="ABC"> 
    <tab5><Activity name="setting"> 
<TabActivity> 

아래로 stackoverflow error

내 레이아웃 구조를 얻고있다. Activitygroup에 하나의 활동이 있으며, 다음 단추가 활동 그룹 tab3.4의 첫 번째 활동을 클릭하면이 활동 그룹에 새 활동이 추가됩니다.

디버깅 한 다음 onResume()이 정상적으로 작동하는지 확인한 다음 오류가 발생했는지 확인합니다. 오류가 발생하기 전에도 새로운 활동을 볼 수 있습니다.

또한 다른 활동을 열면 잘 동작합니다. 그때 그것은 현명하게 일하고 있습니다.

스택 트레이스

11-23 07:06:24.912: WARN/dalvikvm(1783): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
11-23 07:06:24.912: ERROR/AndroidRuntime(1783): Uncaught handler: thread main exiting due to uncaught exception 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783): java.lang.StackOverflowError 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.text.Styled.measureText(Styled.java:371) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.text.Layout.measureText(Layout.java:1601) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.text.Layout.getLineMax(Layout.java:655) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.text.Layout.getLineWidth(Layout.java:637) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.TextView.getRightFadingEdgeStrength(TextView.java:6713) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6608) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6641) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6641) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1529) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.drawChild(ViewGroup.java:1531) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.View.draw(View.java:6538) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.widget.FrameLayout.draw(FrameLayout.java:352) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewRoot.draw(ViewRoot.java:1349) 
11-23 07:06:24.943: ERROR/AndroidRuntime(1783):  at android.view.ViewRoo 

이 문제에서 저를 도와주세요.

감사합니다.

답변

4

나는 안드로이드가 지원하지 않기 때문에 다른 ActivityGroup 에서 대신 중첩 ActivityGroup의 다른 해결 방법이 필요합니다 두려워 중첩 ViewGroup 일부 메모리 문제가있을 수 있습니다 너무 많은.

및 일부 탭은 에뮬레이터에서 완벽하게 작동하지만 실제 장치에 배포 할 때 반동적으로 StackOverflowException으로 표시됩니다.

그래서 단순한는 대한

For further see here, answer by Romain Guy

+0

좋은 일 아딜 +1 Activity 흐름 (예를 들어, 부모 ActivityGroup에서 아이 ActivityGroup을 받고 전체 화면에 표시) 변경하는 것입니다. –

+0

네가 맞다면보기 그룹의 다중 계층 구조의 문제이다. 내부 레이아웃을 제거했는데 이제는 잘 작동한다. 감사합니다. – Dharmendra

+0

@Dharmendra : 코드가 실제 장치에서도 실행되는지 확인하십시오. –