Tab host – setCurrentTab (x) funciona para la ficha, pero no un contenido

He creado ficha app .. ahora estoy jugando con la rotación de la pantalla. Intenté establecer tabHost.getTabWidget().setCurrentTab(1) , que debería mostrar la segunda pestaña (primero es 0). El punto es que la segunda pestaña se muestra como seleccionada, pero el contenido mostrado es de la primera pestaña … ¿Cómo puedo resolver eso?

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); myCommunicator = new Communicator(); dbAdapter = new ToDoDBAdapter(this); if (getLastNonConfigurationInstance() != null) { CurrentTab = (Integer)getLastNonConfigurationInstance(); createView(); } else { BuildDialog = ProgressDialog.show(this, "Loading", "Updating data...", true, false); BuildDialog.show(); new LoadChannels().execute(); } } private void createView() { tabHost = (TabHost)findViewById(android.R.id.tabhost); tabHost.setOnTabChangedListener(this); Intent intent; TabSpec spec; intent = new Intent().setClass(this, Channels.class); // TAB 1 spec = tabHost.newTabSpec("kanali").setIndicator("Kanali",getResources().getDrawable(R.drawable.menu_channels)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, Currently.class); // TAB 2 spec = tabHost.newTabSpec("trenutno").setIndicator("Trenutno",getResources().getDrawable(R.drawable.menu_current)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, Reminders.class); // TAB 3 spec = tabHost.newTabSpec("opomniki").setIndicator("Opomniki",getResources().getDrawable(R.drawable.menu_reminder)).setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, About.class); // TAB 4 spec = tabHost.newTabSpec("oprogramu").setIndicator("O programu",getResources().getDrawable(R.drawable.menu_about)).setContent(intent); tabHost.addTab(spec); tabHost.setBackgroundColor(Color.WHITE); tabHost.setCurrentTab(1); // Should always set content to second } 

@Override public Object onRetainNonConfigurationInstance () {return CurrentTab; }

 @Override public void onTabChanged(String tabId) { CurrentTab = tabHost.getCurrentTab(); } public void onDestroy() { super.onDestroy(); // Close the database try { dbAdapter.close(); } catch (Exception e) { // TODO: handle exception } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); setContentView(R.layout.main); createView(); } 

¿Por qué llamas a getTabWidget() ? Debe utilizar el setCurrentTab() en el propio tabHost .

Funciona bien aquí.

 tabHost.setCurrentTab(1); 

Utilice setCurrentTabByTag (etiqueta String); Dependiendo de la etiqueta que mencionó sería la pestaña predeterminada, espero que ayude, funciona (Es currectly trabajando para este código!)

 private static final String A ="Kanali"; //required defualt tab name . . . tabHost.setCurrentTabByTag (A); 

enlazar

¿Comprobó TabHost en el depurador para asegurarse de que todas las pestañas se agregaron correctamente antes de intentar establecer el currentTab? Tuve un problema similar y encontré que TabHost.setCurrentTab permanece establecido en -1 si intenta hacer referencia a un índice que está fuera del intervalo de pestañas que no se agregaron correctamente. Este comportamiento no está documentado en la documentación de Android.

Utilice tabs.getTabAt(position).select();

  • Cómo crear pestañas como Twitter o Instagram para trabajar en todas las plataformas Android> 2.2
  • Error de logcat de Android "getExternalStorageState / mnt / sdcard" al comprobar el estado de almacenamiento externo
  • Ocultar un diseño cuando el foco en él se pierde en XML
  • ¿Cuáles son estos controles que puedo utilizar en mi android-app?
  • Algunos problemas y dificultades en PagerTabStrip
  • Cambiar el ancho de la pestaña en ActionBar.Tab
  • Configuración de la TAB seleccionada con un pequeño triángulo debajo de ella
  • ViewPager primer fragmento mostrado siempre es incorrecto con FragmentStatePager
  • Cajón de navegación de Android sobre las pestañas
  • Android: Cambiar las actividades en un diseño de pestañas deslizable
  • Añadir imagen en 3 pestañas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.