Pregunta

Tengo un proyecto con dos pestañas.Las pestañas se crean en la clase principal.Aquí también agregué el cuadro, para manejar los cambios entre las pestañas.Aquí hay un instante de una pestaña:

TabHost tabHost = getTabHost();    
tabHost.setOnTabChangedListener(this);
    TabHost.TabSpec spec;
    Intent intent;
    intent = new Intent().setClass(this, Tab1.class);
    spec = tabHost.newTabSpec("tab1").setIndicator("",
                    res.getDrawable(R.drawable.ic_tab_tab1))
                    .setContent(intent);
            tabHost.addTab(spec);

El método del oyente:

public void onTabChanged(String tabName) {
    if (tabName.equals("tab1")){
        tab1.load();
    }
}

y similar para la segunda pestaña también.Mi pregunta es, si los métodos Oncreate () se ejecutan solo una vez en las clases TAB1 y TAB2, ¿cómo puedo "forzar" a la clase principal para mostrar la actividad correspondiente después de que cambie la pestaña?Recibo nullpointerException

Las clases de las pestañas son algo así:

    public class Tab1 extends Activity{
      public void onCreate(Bundle icicle) {
          super.onCreate(icicle);
          setContentView(R.layout.tab1);
          load();
      }
      public void load(){
        //....
      }
    }

¿Fue útil?

Solución

onCreate() method calls only once when your Activity first time loaded.

If you want to perform any functionality on each time you view your Activity, put that functionality in onResume() method.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top