Xaz Posté(e) 28 juillet 2011 Share Posté(e) 28 juillet 2011 Bonjour à tous, Je rencontre un problème dans le développement de mon application. En effet, j'ai une activity avec plusieurs onglets, chaque onglet appelle une activity différente lorque l'on clique dessus. Mon problème est que le chargement de ces activities est long (requêtes HTTP dans des thread) et je souhaiterais pouvoir afficher une progressbar (cercle). Pourriez-vous m'expliquer comment faire? (soit la progressbar ne s'affiche pas soit elle ne disparait pas...) Voici mon code: public class Resultats extends TabActivity{ private ProgressBar progressImage; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.resultats); progressImage = (ProgressBar)findViewById(R.id.progressTitre); Bundle bmotCle = this.getIntent().getExtras(); String type = bmotCle.getString("type"); String motcle = bmotCle.getString("mot_cle"); System.out.println(type); Intent intentcontact = new Intent(); intentcontact.setClass(this, ContactsResults.class); Bundle cmotCle = new Bundle(); cmotCle.putString("mot_cle", motcle); intentcontact.putExtra("type", "contacts"); intentcontact.putExtras(cmotCle); Intent intentmessage = new Intent(); intentmessage.setClass(this, MessagesResults.class); Bundle mmotCle = new Bundle(); mmotCle.putString("mot_cle", motcle); intentmessage.putExtra("type", "messages"); intentmessage.putExtras(cmotCle); Intent intentimage = new Intent(); intentimage.setClass(this, ImagesResults.class); Bundle imotCle = new Bundle(); imotCle.putString("mot_cle", motcle); intentimage.putExtra("type", "images"); intentimage.putExtras(cmotCle); Intent intentvideo = new Intent(); intentvideo.setClass(this, VideosResults.class); Bundle vmotCle = new Bundle(); vmotCle.putString("mot_cle", motcle); intentvideo.putExtra("type", "videos"); intentvideo.putExtras(vmotCle); Intent intentmail = new Intent(); intentmail.setClass(this, MailsResults.class); Bundle amotCle = new Bundle(); amotCle.putString("mot_cle", motcle); intentmail.putExtra("type", "mails"); intentmail.putExtras(amotCle); Intent intentweb = new Intent(); intentweb.setClass(this, WebResults.class); Bundle wmotCle = new Bundle(); wmotCle.putString("mot_cle", motcle); intentweb.putExtra("type", "web"); intentweb.putExtras(cmotCle); setTitle(type+" contenant '"+motcle+"'"); TabHost tabHost = getTabHost(); tabHost.setup(); if(type.equals("Contacts")){ tabHost.addTab(tabHost.newTabSpec("Contacts").setIndicator("Contacts",this.getResources().getDrawable(R.drawable.contacts)).setContent(intentcontact)); tabHost.addTab(tabHost.newTabSpec("Messages").setIndicator("Messages",this.getResources().getDrawable(R.drawable.messages)).setContent(intentmessage)); tabHost.addTab(tabHost.newTabSpec("Images").setIndicator("Images",this.getResources().getDrawable(R.drawable.images)).setContent(intentimage)); tabHost.addTab(tabHost.newTabSpec("Vidéos").setIndicator("Vidéos",this.getResources().getDrawable(R.drawable.videos)).setContent(intentvideo)); tabHost.addTab(tabHost.newTabSpec("Mails").setIndicator("Mails",this.getResources().getDrawable(R.drawable.mails)).setContent(intentmail)); tabHost.addTab(tabHost.newTabSpec("Web").setIndicator("Web",this.getResources().getDrawable(R.drawable.web)).setContent(intentweb)); tabHost.setCurrentTab(0); } if(type.equals("Messages")){ tabHost.addTab(tabHost.newTabSpec("Contacts").setIndicator("Contacts",this.getResources().getDrawable(R.drawable.contacts)).setContent(intentcontact)); tabHost.addTab(tabHost.newTabSpec("Messages").setIndicator("Messages",this.getResources().getDrawable(R.drawable.messages)).setContent(intentmessage)); tabHost.addTab(tabHost.newTabSpec("Images").setIndicator("Images",this.getResources().getDrawable(R.drawable.images)).setContent(intentimage)); tabHost.addTab(tabHost.newTabSpec("Vidéos").setIndicator("Vidéos",this.getResources().getDrawable(R.drawable.videos)).setContent(intentvideo)); tabHost.addTab(tabHost.newTabSpec("Mails").setIndicator("Mails",this.getResources().getDrawable(R.drawable.mails)).setContent(intentmail)); tabHost.addTab(tabHost.newTabSpec("Web").setIndicator("Web",this.getResources().getDrawable(R.drawable.web)).setContent(intentweb)); tabHost.setCurrentTab(1); } if(type.equals("Images")){ tabHost.addTab(tabHost.newTabSpec("Contacts").setIndicator("Contacts",this.getResources().getDrawable(R.drawable.contacts)).setContent(intentcontact)); tabHost.addTab(tabHost.newTabSpec("Messages").setIndicator("Messages",this.getResources().getDrawable(R.drawable.messages)).setContent(intentmessage)); tabHost.addTab(tabHost.newTabSpec("Images").setIndicator("Images",this.getResources().getDrawable(R.drawable.images)).setContent(intentimage)); tabHost.addTab(tabHost.newTabSpec("Vidéos").setIndicator("Vidéos",this.getResources().getDrawable(R.drawable.videos)).setContent(intentvideo)); tabHost.addTab(tabHost.newTabSpec("Mails").setIndicator("Mails",this.getResources().getDrawable(R.drawable.mails)).setContent(intentmail)); tabHost.addTab(tabHost.newTabSpec("Web").setIndicator("Web",this.getResources().getDrawable(R.drawable.web)).setContent(intentweb)); tabHost.setCurrentTab(2); } if(type.equals("Videos")){ tabHost.addTab(tabHost.newTabSpec("Contacts").setIndicator("Contacts",this.getResources().getDrawable(R.drawable.contacts)).setContent(intentcontact)); tabHost.addTab(tabHost.newTabSpec("Messages").setIndicator("Messages",this.getResources().getDrawable(R.drawable.messages)).setContent(intentmessage)); tabHost.addTab(tabHost.newTabSpec("Images").setIndicator("Images",this.getResources().getDrawable(R.drawable.images)).setContent(intentimage)); tabHost.addTab(tabHost.newTabSpec("Vidéos").setIndicator("Vidéos",this.getResources().getDrawable(R.drawable.videos)).setContent(intentvideo)); tabHost.addTab(tabHost.newTabSpec("Mails").setIndicator("Mails",this.getResources().getDrawable(R.drawable.mails)).setContent(intentmail)); tabHost.addTab(tabHost.newTabSpec("Web").setIndicator("Web",this.getResources().getDrawable(R.drawable.web)).setContent(intentweb)); tabHost.setCurrentTab(3); } if(type.equals("Mails")){ tabHost.addTab(tabHost.newTabSpec("Contacts").setIndicator("Contacts",this.getResources().getDrawable(R.drawable.contacts)).setContent(intentcontact)); tabHost.addTab(tabHost.newTabSpec("Messages").setIndicator("Messages",this.getResources().getDrawable(R.drawable.messages)).setContent(intentmessage)); tabHost.addTab(tabHost.newTabSpec("Images").setIndicator("Images",this.getResources().getDrawable(R.drawable.images)).setContent(intentimage)); tabHost.addTab(tabHost.newTabSpec("Vidéos").setIndicator("Vidéos",this.getResources().getDrawable(R.drawable.videos)).setContent(intentvideo)); tabHost.addTab(tabHost.newTabSpec("Mails").setIndicator("Mails",this.getResources().getDrawable(R.drawable.mails)).setContent(intentmail)); tabHost.addTab(tabHost.newTabSpec("Web").setIndicator("Web",this.getResources().getDrawable(R.drawable.web)).setContent(intentweb)); tabHost.setCurrentTab(4); } if(type.equals("Web")){ tabHost.addTab(tabHost.newTabSpec("Contacts").setIndicator("Contacts",this.getResources().getDrawable(R.drawable.contacts)).setContent(intentcontact)); tabHost.addTab(tabHost.newTabSpec("Messages").setIndicator("Messages",this.getResources().getDrawable(R.drawable.messages)).setContent(intentmessage)); tabHost.addTab(tabHost.newTabSpec("Images").setIndicator("Images",this.getResources().getDrawable(R.drawable.images)).setContent(intentimage)); tabHost.addTab(tabHost.newTabSpec("Vidéos").setIndicator("Vidéos",this.getResources().getDrawable(R.drawable.videos)).setContent(intentvideo)); tabHost.addTab(tabHost.newTabSpec("Mails").setIndicator("Mails",this.getResources().getDrawable(R.drawable.mails)).setContent(intentmail)); tabHost.addTab(tabHost.newTabSpec("Web").setIndicator("Web",this.getResources().getDrawable(R.drawable.web)).setContent(intentweb)); tabHost.setCurrentTab(5); } } } Merci beaucoup!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
watoo Posté(e) 1 août 2011 Share Posté(e) 1 août 2011 Je n'ai pas une grande connaissance en Android mais voilà ce que je peux te proposer: Tu crées une progressBar directement dans le code que tu affiches au lancement d'une activité et que tu supprimes dès la fin du chargement de tes données : //Création progressDialog = new ProgressDialog(this); //Affichage progressDialog.setMessage("Chargement en cours"); progressDialog.show(); //Suppression progressDialog.dismiss(); Ce système te permettra d'avoir une animation pendant le chargement tout en grisant ton écran Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.