seleccionaron inicialmente me he dado cuenta que cuando se utilizapestañas Android actionbar conjunto de pestañas
actionBar.setSelectedNavigationItem(x)
en el método onCreate() de mi actividad, el elemento de ficha en la posición 0 se selecciona siempre primero y luego el elemento de ficha en la posición x está cargado. Esto significa que (ya que estoy usando Fragmentos) 2 Fragmentos están cargados. Una de ellas es innecesaria ...
Aquí está mi código:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Determine which bundle to use; either the saved instance or a bundle
// that has been passed in through an intent.
Bundle bundle = getIntent().getExtras();
if (bundle == null) {
bundle = savedInstanceState;
}
// Initialize members with bundle or default values.
int position;
if (bundle != null) {
position = bundle.getInt("selected_tab");
} else {
position = 0;
}
// Set the tabs.
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab = actionBar
.newTab()
.setText("Tab 1")
.setTabListener(
new TabListener<RendersGridFragment>(this, "1",
RendersGridFragment.class));
actionBar.addTab(tab);
tab = actionBar
.newTab()
.setText("Tab 2")
.setTabListener(
new TabListener<RendersGridFragment>(this, "2",
RendersGridFragment.class));
actionBar.addTab(tab);
tab = actionBar
.newTab()
.setText("Tab 3")
.setTabListener(
new TabListener<RendersGridFragment>(this, "3",
RendersGridFragment.class));
actionBar.addTab(tab);
actionBar.setSelectedNavigationItem(position);
}
Parece que la lengüeta en la posición 0 se selecciona inicialmente por defecto. Pero, como puede ver, estoy transfiriendo paquetes para asegurarme de que la última pestaña seleccionada todavía esté seleccionada cuando se ejecute nuevamente la actividad en el método Crear().
Por ejemplo, si la última pestaña seleccionada está en la posición 2, se ejecuta onCreate() y se carga la pestaña en la posición 0, se carga la pestaña en la posición 2.
¿Cómo puedo asegurarme de que la Barra de acciones no selecciona la pestaña en la posición 0 primero cuando se utiliza actionBar.setSelectedNavigationItem (posición).
Eso es perfecto. Pensé que había una solución simple. Gracias. – mdupls
Funciona, pero puedo ver la transición de ViewPager cuando se crea la actividad. ¿Hay alguna manera, cómo desactivarlo? – sealskej
No estoy seguro si tuve el mismo problema que el autor de la pregunta. En mi caso, la función setSelectedNavigationItem (...) cuando se llamaba onCreate of my Activity, el fragmento se instanciaba dos veces o más. Cambiar para esto resuelve mi problema. Gracias. –