Pergunta

Eu tenho um projeto com duas abas.Guias são criados na classe principal.Aqui eu adicionei o tablistener demais, para processar as alterações entre os separadores.Aqui está um guia imediato:

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);

O ouvinte método:

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

E semelhante para a segunda guia também.A minha pergunta é, se o onCreate() métodos de executar apenas uma vez no Tab1 e Tab2 classes, como pode "forçar" a classe principal para mostrar a Atividade correspondente, após o guia de mudanças?Eu receber NullPointerException

As guias' as aulas são algo como isto:

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

Solução

onCreate() chamadas de método apenas uma vez, quando seu Activity primeira vez carregado.

Se você deseja executar alguma funcionalidade em cada vez que você visualizar o seu Activity, colocar essa funcionalidade no onResume() o método.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top