onConfigurationChanged 및 TabHost에 문제가 있습니다. 회전에 내 활동을 다시 시작, 나는이 매우 도움이 게시물을 발견하기 때문에 는 : 함수 밖으로 Activity restart on rotation AndroidonConfigurationChanged를 사용하여 회전시 TabHost 비어 있음
I 종류의 GUI 요소를 InitialGui는()
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
InitialGui();
}
오버라이드의 onConfigurationChanged 및 InitialGui()를
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
InitialGui();
}
전화
AndroidManifest 내부
<activity
android:label="@string/app_name"
android:name=".MyAndroidAppActivity"
android:theme="@android:style/Theme.NoTitleBar"
android:configChanges="keyboardHidden|orientation"
>
간단히하기 위해 언급 된 변경 사항 만있는 http://www.mkyong.com/android/android-tablayout-example/ 을 기반으로 새 프로젝트를 만듭니다. 이것은 BTW
public void InitialGui()
{
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup();
// Android tab
Intent intentAndroid = new Intent().setClass(this, AndroidActivity.class);
TabSpec tabSpecAndroid = tabHost
.newTabSpec("Android")
.setIndicator("Android")
.setContent(intentAndroid);
// Apple tab
Intent intentApple = new Intent().setClass(this, AppleActivity.class);
TabSpec tabSpecApple = tabHost
.newTabSpec("Apple")
.setIndicator("Apple")
.setContent(intentApple);
// Windows tab
Intent intentWindows = new Intent().setClass(this, WindowsActivity.class);
TabSpec tabSpecWindows = tabHost
.newTabSpec("Windows")
.setIndicator("Windows")
.setContent(intentWindows);
// Blackberry tab
Intent intentBerry = new Intent().setClass(this, BlackBerryActivity.class);
TabSpec tabSpecBerry = tabHost
.newTabSpec("Berry")
.setIndicator("Berry")
.setContent(intentBerry);
// add all tabs
tabHost.addTab(tabSpecAndroid);
tabHost.addTab(tabSpecApple);
tabHost.addTab(tabSpecWindows);
tabHost.addTab(tabSpecBerry);
//set Windows tab as default (zero based)
tabHost.setCurrentTab(2);
}
내 문제가 회전 후 빈 TabHosts있는 InitialGui 기능입니다 나던 문제 마녀 탭을 클릭 할 때 아무것도 표시되지 않습니다. 어떤 힌트? 감사합니다
사용자가 탭에 인 텐트를 사용 중이며 현재 활동에없는 인 텐트를 사용하여 시작된 활동) 데이터가 반환되는 객체에 저장되지 않고 (탭 호스트 활동 데이터 만 포함) –
이러한 의도를 처음으로 시작 하시겠습니까? 더 많은 코드가 없습니다. 비슷한 것 \t 의도 i = 새로운 의도 (this, cls); \t startActivity (i); 모든 스레드 다시 다시 시작 – JaMaBing