Buongiorno,
da poco muovo i primi passi nella prgz android/java/eclipse; ho improntato un'app android con un'activity che contiene:
- 3 bottoni per scegliere la schermata sottostante
- un frame-layout su cui devono girare 3 fragment [calendario, orologio e info] (fragcal, fragtime, fraginfo).
So che esistono strumenti automatici con cui gestire più schermate ma ho necessità di farlo gestendo manualmente il cambio di fragment.
Nell'onCreate dell'activity carico inizialmente uno dei tre fragment (finfo) così:
if (savedInstanceState != null) {
fragmentTransaction.add(R.id.container, finfo).commit();
} else {}
poi intercetto il click sui tre bottoni e lancio una funzione "update(int panel)" che decide quale fragment caricare in base all'intero passato usando un costrutto switch:
switch (panel){
case 1:
fragcal fcal = new fragcal().getInstance(1);
fragmentTransaction.replace(R.id.container,fcal, "pluto").commit();
break;
case 2:
fragtime ftime = new fragtime().getInstance(1);
fragmentTransaction.replace(R.id.container,ftime, "pluto").commit();
break;
case 3:
fraginfo finfo = new fraginfo().getInstance(1);
fragmentTransaction.replace(R.id.container,finfo, "pluto").commit();
break;
}
...naturalmente l'app crasha perchè (almeno così credo) eseguo due volte la commit() ma se non lo faccio non mi cambia il fragment.
Dove sbaglio?
NpH