J'ai mis une petite application qui a trois onglets pour afficher trois pages Web différentes. Cela fonctionne mais je suis un peu inquiet, je n'ai pas assez de contrôle sur la façon dont tout cela fonctionne. Lorsque je clique sur un onglet, une page Web est chargée (voir l'exemple de code ci-dessous), maintenant, lorsque je clique sur un autre onglet, une autre page est chargée dans une autre vue. Quand je reviens au premier onglet, le tout s'initialise à nouveau et la page se charge. Existe-t-il un moyen de contrôler cela et de garder l'activité de l'onglet underneeth dans son état actuel aussi longtemps que je le souhaite (et de ne dire que «rafraîchir» la page quand elle change). Ai-je besoin de gérer les méthodes onPause()/onResume() pour cela ou d'implémenter mes onglets en tant que vues d'une seule activité (est-ce possible?)? Comment stocker l'état de mon activité pour éviter de la réinitialiser à chaque fois?Onglets Android - éviter de recréer des activités sur les clics sur les onglets
cette façon dont les activités sont accrochés aux onglets:
intent = new Intent().setClass(this, tab_schedule.class);
spec = tabHost.newTabSpec("Schedule").setIndicator("Schedule",
res.getDrawable(R.drawable.tab_icon_schedule)).setContent(
intent);
tabHost.addTab(spec);
la tab_schedule.class ne simple chargement de la page web:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_people);
try {
WebView currentView = (WebView) findViewById(R.id.tab_people_WebView);
currentView.getSettings().setJavaScriptEnabled(true);
currentView.loadUrl("http://pda.lenta.ru");
} catch (Exception e) {
Log.v("webClientInit", e.getMessage());
}
}