TabActivity를 상속받는 Class를 이용해서, 탭을 유지한 채, 여러 Activity를 사용하기 위해, ActivityGroup을 사용하기로 했습니다.

여기저기 검색해본 결과, ActivityGroup을 상속받는 Class를 정의한 후에 Tab에 추가시켜 주는 방식이 많던데

어차피 TabActivity역시 내부적으로 ActivityGroup을 상속받아서 FrameLayout에 Activity들을 겹쳐 쓰는 만큼

TabHost의 LocalActivityManager를 직접 받아와서 View를 변경해주는 식으로 구현한다면

궂이 ActivityGroup을 상속받는 Class를 정의할 필요가 없지 않을까 해서 질문드립니다.

현재 T라는 Tab 하나에 A라는 Class(extends Activity)가 있습니다.

그 때 A라는 클래스에 버튼이 하나 있고, 그 버튼 이벤트 부분에서 다음과 같은 코드를 작성했습니다.

T t=(T)getParent();
setContentView(t.getLocalActivityManager().startActivity("a", new Intent(A.this, B.class)).getDecorView());

B라는 클래스는, 같은 탭을 유지한 채, A를 덮고서 표시되고 싶은 클래스입니다.

그리고 현재 이렇게 하면 B가 문제없이 A대신에 표시됩니다. 하지만, 이건 어디까지나 B의 View를 얻어와서 A의 View에 표시한 것이므로

완벽히 Activity A와 B를 서로 대체했다고 볼 수 없고, 뒤로 가기 문제 역시 해결되지 않을 것 같습니다.

제가 원하는 것은, TabActivity를 상속받은 클래스 T의 FrameLayout에 직접 Activity를 넣어주고 싶은 것입니다.

FrameLayout의 id를 얻어와서 add해야 되는지...
t.setContentView(t.getLocalActivityManager().startActivity("a", new Intent(A.this, B.class)).getDecorView()); 해도 안되고...
어떤 함수를 어떻게 써야 하는지, 코드를 뒤져봐도 감이 잘 안잡힙니다...

질문이 다소 이해하기 힘드시게 작성된 것 같지만, 초보자 시절 생각하시면서(ㅠㅠ), 답변 부탁드립니다.

읽어 주셔서 감사합니다.