J'ai un écran frontal avec un bouton qui ouvre un deuxième écran. Le deuxième écran peut prendre quelques secondes à charger, donc je veux afficher une boîte de dialogue pendant le chargement. Mon problème est que la boîte de dialogue ne s'affiche pas lors du chargement du second écran, mais elle s'affiche lorsque je retourne à la première page de la deuxième page. Si je commente le startActivity
pour ouvrir la deuxième page, la boîte de dialogue s'affiche correctement. Je suis assez nouveau pour la programmation Android - je suppose que cela a quelque chose à voir avec les threads.Afficher la boîte de dialogue lors du chargement du nouvel écran
//code snippet from inside onCreate:
NewGame.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
//does not get displayed before 2nd page opens
showDialog(DIALOG2_KEY);
//shows fine if next 2 lines commented out
Intent i = new Intent(screen1.this, SudukuXL.class);
startActivity(i);
J'ai eu affaire à la projection de dialogue sur le retour à l'écran avant avec onPause()
. J'ai essayé d'utiliser des discussions pour séparer le dialogue du startActivity
mais je n'ai pas eu de chance. Toute aide serait appréciée. J'ai utilisé le code d'exemples Android pour créer une boîte de dialogue. J'inclus ci-dessous pour référence:
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG2_KEY: {
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Loading...");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
}
return null;
}
J'ai testé où le retard se produit. Il s'agit en fait de construire XML - il y a 81 editTexts dans une table. Dans l'émulateur sur mon PC - en utilisant une classe java vide mais le même xml cela prend 2 secondes à afficher. Avec la classe java complète ajoutée, cela prend environ 3 secondes. Est-il possible d'afficher le dialogue ou ViewSitcher sur le deuxième écran lors de la construction de XML? - Je vais essayer. – darkdusky
Donc le problème est dans le temps que prend l'émulateur pour rendre votre vue? Ai-je raison? Je ne sais pas ce que vous essayez de développer mais je préfère utiliser quelque chose comme Adapter avec des vues énormes avec de nombreux éléments. L'avantage des adaptateurs et de AdapterView est que vous pouvez rendre une partie visible de la vue et des données. vérifier les docs. http://developer.android.com/reference/android/widget/Adapter.html – ponkin
Merci pour vos conseils - Je suis en train de faire un jeu de sudoku donc 81 édits individuels. Devrais-je abandonner ma tentative de diviser setContentView et showDialog en différents threads (voir ci-dessous)? – darkdusky