Listener Tabactivity con ONCreate ()
-
14-11-2019 - |
Domanda
Ho un progetto con due schede.Le schede sono create nella classe principale.Qui ho aggiunto anche il tablenser, per gestire le modifiche tra le schede.Ecco l'istante di una scheda:
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);
.
Il metodo dell'ascoltatore:
public void onTabChanged(String tabName) {
if (tabName.equals("tab1")){
tab1.load();
}
}
.
E simili anche per la seconda scheda.La mia domanda è, se i metodi ONCreate () vengono eseguiti solo una volta nelle classi TAB1 e TAB2, come posso "forzare" la classe principale per mostrare l'attività corrispondente dopo la modifica della scheda?Ricevo NullPointerException
Le classi delle schede sono qualcosa del genere:
public class Tab1 extends Activity{
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.tab1);
load();
}
public void load(){
//....
}
}
. Soluzione
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.