Bonjour,

J'ai une application qui affiche le résultat de plusieurs requêtes. Je change d'activity via onglets (tabwidget). Vue que l'application est très longue j'ai décider de mettre une progressdialog.
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
public class MonActivity extends Activity  implements Runnable{
private ProgressDialog pd;
 
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.textview);
 
 launchWait();
 
}
Méthode launchWait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 public void launchWait() {
				pd = ProgressDialog.show(this, "Patientez...", "Chargement", true,false);
 
				Thread thread = new Thread(this);
				thread.start();
			}
Method run:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public void run() {
	//Je récupére les variable placer en paramètre (via onglet) p,  l, id, c			
lancement(p,  l, id, c);
 
		                //Une fois l'opération finie, prévenir la boîte de dialogue 
		                //qu'elle peut se fermer :
				handler.sendEmptyMessage(0);
			}
Handler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
private Handler handler = new Handler() {
 
				@Override
				public void handleMessage(Message msg) {
		                        //Le handler a reçu une notification
		                        //On ferme la boîte de dialogue
		                        //Les bonnes pratiques voudraient qu'on teste le msg ...
		 			pd.dismiss();
				}
			};

lorsque je lance mon application tout se passe bien ma page de présentation s'affiche sans souci.
Mais si je vais sur un nouvel onglet (relance la même activity avec de nouveau paramètre) je récupère bien les résultat de ma requête dans un log mais mon application plante.