2011-11-10 2 views
0

TabActivities를 사용하는 ActivityGroup이있는 곳에 문제가 있습니다. 모든 것이 서로 다른 활동 사이를 전환합니다. 그러나, 나는 탭을 갖고 싶지 않은 견해를 가지고있다. 그것들은 활동 그룹에 속하기를 원하지 않는 완전히 다른 견해입니다.TabActivity를 그대로 두어 제대로 반환하십시오.

현재 ActivityGroupstartActivityFromChild 함수에서 일반 startActivity(intent)을 수행하여 활동 그룹을 떠납니다.

이 방법은 작동하지만 뒤로 버튼을 누르면 이전 TabActivity로 돌아가지만 결과적으로 onCreate()이 두 번 호출됩니다.

TabActivity을 정상적으로 Activity으로 바꿔 올바르게 되돌릴 수있는 방법은 무엇입니까?

답변

0

수정 됨. 문제는 getLocalActivityManager()와 관련이 있습니다. startActivity (newRecord.id, newRecord.intent); 다른 기능의 활동 그룹에서 두 번 호출됩니다.

0

확실하지 않지만 onCreate가 의도적으로 두 번 호출되고 있습니다. 아마도 한 번 그룹에 의해 다음 실제 탭에 의해. 이 동작이 실제로 코드를 위반합니까?

아마도 두 번 실행하지 않으려는 코드를 별도의 기능으로 옮기십시오. 그런 다음 실행할지 여부를 결정하는 플래그를 설정하십시오.

public class YourActivity { 

    private boolean i_feel_like_it = true; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      runIfYouFeelLikeIt(); 
    } 


    private void runIfYouFeelLikeIt() { 
     if(i_feel_like_it) { 
      doIt(); 
      i_feel_like_it = false; 
     } 
    } 
} 
관련 문제