몇일 잡고있다가 정말 너무 막막해서 이렇게 질문을씁니다..
현재 탭뷰 하단에서 액티비티 이동을 하고있는데
탭을 유지시키기 위해서 ActivityGroup 을 상속받아
Intent intent = new Intent(menu_2_storelist.this, menu_2_location.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
Window window = getLocalActivityManager().startActivity("menu_2_storelist", intent);
setContentView(window.getDecorView());
이런식으로 인텐트를 넘기고 있습니다.
문제는 그 다음인데요. 인텐트가 넘어가면 mapView 가 있는 액티비티로 이동합니다..
Mapview 에서는 GroupActivity 를 상속받지못해 getlocalActivityManager 를 사용하지 못해서
다음과 같이 처리했습니다.
(맵뷰를 포함하는 activity.java 에 backpressed 를 이와 같이정의)
@Override
public void onBackPressed(){
Intent intent = new Intent(this, menu_2_storelist.class);
ActivityGroup goto_storelist = (ActivityGroup)Menu_2_layout.store_list_activ_group;
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP );
Window window = goto_storelist.getLocalActivityManager().startActivity("go_to_menu_2_menu_2_layout", intent);
setContentView(window.getDecorView());
mapview.removeView(mapview);
}
그리고나서
탭 상단에 있는 버튼을 누르면 다시 리스트로 돌아올수 있도록
탭액티비티를 상속하는 액티비티에 온클릭 메소드에 다음과같이 지정하였습니다.
menu_2_location aActivity = (menu_2_location)menu_2_location.AActivity;
aActivity.onBackPressed();
menu_2_location ( 맵뷰 띄우는 액티비티 이구요)
public static Activity AActivity ; (menu_2_location 클래스 전역)
AActivity = menu_2_location.this; (menu_2_location .java 에서 oncreate 에 다음과같이 만들었습니다.)
---------------------------------------
간략히 설명하자면
일단 탭의 메뉴를 누르면 하단에 리스트가나옵니다.
그 리스트를 클릭하면 맵뷰가나옵니다(탭뷰는 유지됨)
맵뷰에서 다시 리스트로 돌아갈 방법이없어서 ( finish(); 를 사용하면 탭전체가 죽더군요.
onBackpressed 를 구성하였고,
탭뷰 상단의 버튼을 누르면 menu_2_location (지도) 의 backpressed 메소드가 호출되면서 다시 탭을 유지한채 list 로 돌아옵니다.
문제는.
리스트 -> 맵 -> 리스트 -> 맵 -> 에러(Stackoverflow)
이런식으로 오류가납니다.
너무 답답해서 이렇게 주절주절 적었는데요.. 이걸 어찌해야할지 모르겠습니다. 여기저기 찾아봐도 ... 모르겠네요..
에러코드도 올려봅니다..
---------------------------------------------------------------------------------------------------------------------------------
02-06 12:15:22.071: E/AndroidRuntime(23060): FATAL EXCEPTION: main
02-06 12:15:22.071: E/AndroidRuntime(23060): java.lang.StackOverflowError
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.graphics.Paint.getTextRunAdvances(Paint.java:1753)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.graphics.Paint.getTextRunAdvances(Paint.java:1726)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.TextLine.handleText(TextLine.java:749)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.TextLine.handleRun(TextLine.java:972)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.TextLine.measureRun(TextLine.java:416)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.TextLine.measure(TextLine.java:295)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.TextLine.metrics(TextLine.java:269)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.Layout.getLineExtent(Layout.java:942)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.text.Layout.draw(Layout.java:405)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.TextView.onDraw(TextView.java:5059)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.View.draw(View.java:10978)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.ListView.drawChild(ListView.java:3223)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.AbsListView.dispatchDraw(AbsListView.java:2096)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.ListView.dispatchDraw(ListView.java:3218)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.ExpandableListView.dispatchDraw(ExpandableListView.java:230)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.View.draw(View.java:10981)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.AbsListView.draw(AbsListView.java:3586)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.View.draw(View.java:10981)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.View.draw(View.java:10981)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.widget.FrameLayout.draw(FrameLayout.java:450)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-06 12:15:22.071: E/AndroidRuntime(23060): at android.view.ViewGroup.drawChild(V