Xaz Posted July 28, 2011 Share Posted July 28, 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!! Link to comment Share on other sites More sharing options...
watoo Posted August 1, 2011 Share Posted August 1, 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.