2011-04-24 6 views
0

Je voudrais faire apparaître un ProgressDialog quand je clique sur un bouton. En cliquant sur ce bouton, il commence à analyser un fichier XML et affiche le résultat dans un ListView.créer un ProgressDialog quand je clique sur un bouton

J'ai essayé, mais ça ne marche pas:

// --- NEWS BUTTON 
    OnClickListener newsButtonListener = new OnClickListener() 
    { 

     @Override 
     public void onClick(View actuelView) 
     { 

     // Navigation to another screen 
     Intent intent = new Intent(Lausanne_HC.this, NewsViewController.class); 
     startActivity(intent); 
     ProgressDialog dialog = ProgressDialog.show(Lausanne_HC.this, "", 
        "Loading. Please wait...", true); 

     } 

    }; 
    ImageButton newsButton = (ImageButton) findViewById(R.id.newsButton); 
    newsButton.setOnClickListener(newsButtonListener); 

Que puis-je faire?

Merci

+0

http://p-xr.com/android-tutorial-how-to-parseread-xml-data-into-android-listview/ http://www.ibm.com/developerworks/opensource/ library/x-android/Cela vous aidera. Si vous n'effectuez aucune récupération de données de tri à partir du serveur via un appel de service Web. Que vous devez implémenter un thread simple et le faire dormir de la durée désirée qui est en millisec. par exemple. 3000 ms = 3 secondes – SALMAN

Répondre

0

En utilisant l'intention d'ouvrir une autre activité, Android quitte l'activité en cours. Si l'activité de votre ouverture avec l'intention est l'activité qui affiche vos données analysées, vous devez effectuer les opérations suivantes:

  1. Ouvrez votre ProgressDialog
  2. Démarrer une nouvelle discussion pour analyser votre fichier XML
  3. Après la fichier est analysé, tuer le fil et utiliser l'intention de montrer les données

J'ai trouvé this older thread sur presque le même sujet.

0

Vous devez mettre le code qui génère le ProgressDialog au tout début de l'activité appelée. Ensuite, utilisez un autre thread pour analyser votre fichier XML et générer le ListView, une fois le travail terminé, ignorer le ProgressDialog.

Tout ce code doit être mis dans l'activité qui montre le ListView, puisque le ProgreeDialog est présenté la progression de l'analyse XML.

0
new Handler().postDelayed(new Runnable() { 

     @Override 
     public void run() { 

      /* Create an Intent that will start the Menu-Activity. */ 

      Intent mainIntent = new Intent(SplashScreenActivity.this, 
        FastMainActivity.class); 

      SplashScreenActivity.this.startActivity(mainIntent); 
      //overridePendingTransition(android.R.anim.slide_in_left, 
       // android.R.anim.slide_out_right); 

      SplashScreenActivity.this.finish(); 

     } 

    }, SPLASH_DISPLAY_LENGHT); // SPLASH_DISPLAY_LENGTH=3000 
1

cliquez sur le bouton

Button click = (Button) findViewById(R.id.button1); 
     click.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       openprogresdialog(); 
      } 
     }); 

Créer une cette méthode.

private void openprogresdialog() { 
     // TODO Auto-generated method stub 
     final ProgressDialog progDailog = ProgressDialog.show( 
       HidekeybordActivity.this, "Testing", "Please wait...", true); 

     new Thread() { 
      public void run() { 
       try { 
        // xml parser code here put... 
       } catch (Exception e) { 
       } 
       progDailog.dismiss(); 
      } 
     }.start(); 
    } 
Questions connexes