2012-02-17 2 views
0

한 탭 아래 2 개의 간단한 활동 (각각 1 개의 버튼을 호스팅하는 상대 레이아웃)이 있습니다. 각각은 서로 링크되어있어 하나의 활동에서 다른 활동으로 이동할 수 있습니다 (모든 것은 동일한 탭에서 작동 함). 프로그램이 세 번째 루프 (첫 번째 작업 - 두 번째 - 1st - 두 번째 - 1st - 두 번째) 후에 충돌합니다.1 TAB 미만의 여러 활동이 활동 변경시 충돌 함

나는 다음 코드를 사용하여 다른 하나 개의 활동에서 이동 :

Tabs s = (Tabs) getParent(); 
Intent myIntent = new Intent(getApplicationContext(), Map.class); 
View view = s.getLocalActivityManager().startActivity("map", 
    myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 
setContentView(view); 

내가 활동에 가지고있는 레이아웃 문제가되지 않습니다, 기본적으로는 여전히 모든 3 루프를 충돌합니다.

안드로이드가 무한 루프와 같은이 탐색 (동일한 탭 아래의 활동에서 다른 활동으로)을 해석한다는 것을 제외하고는 다른 아이디어가 있습니까? 기본적으로 사용자가하는 것이지, 나를 프로그래밍하는 루프가 아닙니다.

일부 안드로이드 버그입니까? 아니면 잘못하고 있습니까?

나는이 오류가 무엇입니까 :

02-17 10:36:00.566: E/AndroidRuntime(4155): FATAL EXCEPTION: main 
02-17 10:36:00.566: E/AndroidRuntime(4155): java.lang.StackOverflowError 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.widget.TextView.getExtendedPaddingTop(TextView.java:1281) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.widget.TextView.getVerticalOffset(TextView.java:3570) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.widget.TextView.onDraw(TextView.java:4050) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.view.View.draw(View.java:6880) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.view.ViewGroup.drawChild(ViewGroup.java:1646) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.view.ViewGroup.drawChild(ViewGroup.java:1644) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
02-17 10:36:00.566: E/AndroidRuntime(4155):  at android.view.View.draw(View.java:6883) 

편집 : OK, 나는이 오류가 나타나는 이유는 생각을 가지고있다. 한 활동에서 다른 활동으로 갈 때마다 새로운 의도를 만들고 새로운 활동을 시작합니다. 그럴 수도 있습니다. 하지만 어떻게 다시 사용할 수 있습니까? 내가보기를 다시 사용하려고하면이 오류를 얻을 :

02-17 13:14:03.429: E/AndroidRuntime(5374): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 

답변