2013-10-10 4 views
0

tabactivity에는 탭이 3 개 있습니다. 프로그래밍 방식으로 탭을 추가 한 후 onCreate()에서 tabHost.setCurrentTab(currentTab);setDefaultTab(currentTab);에 대한 호출이 있습니다. 특정 탭을 표시하려면 다음을 수행하십시오. 그러나이 명령문은 방향이 변경되고 onCreate()가 호출 될 때 아무 효과가 없습니다. tabactivity는 항상 첫 번째 탭을 표시합니다. 방향 변경시 특정 탭을 설정하는 방법은 무엇입니까? x가 마지막으로 선택한 탭입니다TabActivity 항상 방향 변경시 첫 번째 탭로드

감사

답변

0

간단히 onCreate(Bundle savedInstanceState)setCurrentTab(x)를 호출합니다. 장치가 변경되면 방향 활동이 재생성됩니다. 그래서 활동이 파괴 되려고 할 때 당신은 그 상태를 저장하고 그것이 재현 될 때 복원해야합니다. onSaveInstanceState (Bundle outState)은 상태를 저장하는 곳입니다. 이 메서드를 재정 의하여 현재 선택된 탭을 outState에 놓습니다. 그러면 onCreate (Bundle savedInstanceState)에서 현재 savedInstanceState에서 탭을 선택합니다. 실제로는 outState = savedInstanceState입니다. 기본적으로이 방법이 완료되었습니다.

+0

이미이 작업을 수행하고 있습니다. 방향 변경 후 작업을 만들 때 setCurrentTab이 무시되거나 지나치게 큰 것이 문제입니다. –

관련 문제