Aller au contenu

ProgressBar dans TabHost


Xaz

Recommended Posts

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...