Android ProgressDialog перестает вращаться - PullRequest
1 голос
/ 09 марта 2012

Я создал ProgressDialog в моем приложении для Android. Но проблема, с которой я сталкиваюсь, заключается в том, что когда он фактически выполняет работу, он перестает вращать колесо. Вот мой код Как я могу сделать так, чтобы он постоянно вращал колесо, в то время как моя другая работа продолжается?

button5.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
    System.out.println("Button5");

    //Handler to make the please wait message
    final ProgressDialog myProgressDialog = ProgressDialog.show(
            FoodSubstitutesActivity.this, "Please wait...",
            "Getting most recent updates...", true);
    Handler handler = new Handler();
    handler.postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            //DO STUFF - STOPS SPINNING WHEEL UNTIL THIS PART IS COMPLETE. 
            myProgressDialog.dismiss();
        }

    }, 500);
}
}); 

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Почему бы вам не попробовать сделать это таким образом?

final ProgressDialog dialog = ProgressDialog.show(this, "Title", 
"Message", true);
final Handler handler = new Handler() {
   public void handleMessage(Message msg) {
      dialog.dismiss();
      }
   };
Thread checkUpdate = new Thread() {  
   public void run() {
//
// YOUR LONG CALCULATION (OR OTHER) GOES HERE
//
      handler.sendEmptyMessage(0);
      }
   };
checkUpdate.start();

взяты из: http://www.tutorials - android.com / learn / How_to_display_a_progress_dialog_ while_computing.rhtml

0 голосов
/ 09 марта 2012

используйте этот код, это может вам помочь,

                // TODO Auto-generated method stub
                myProgressDialog = ProgressDialog.show(MainActivity.this,
                        "", "Please wait....");
                myProgressDialog
                        .setProgressStyle(ProgressDialog.STYLE_SPINNER);

                new Thread() {
                    public void run() {
                        try {

                            Thread.sleep(1000);
                        } catch (Exception e) {
                        }

                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                               // do your action...........
                                finish();

                            }
                        });
                        // Dismiss the Dialog
                        myProgressDialog.dismiss();
                    }
                }.start();

Спасибо ...

...