создать ProgressDialog, когда я нажимаю на кнопку - PullRequest
0 голосов
/ 24 апреля 2011

Я хотел бы открыть ProgressDialog, когда я нажимаю кнопку à.Нажав на эту кнопку, он начинает анализ XML-файла и показывает результат в ListView.

Я пробовал это, но это не работает:

// --- 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);

Что я могу сделать?

Спасибо

Ответы [ 4 ]

1 голос
/ 05 июля 2012

Нажатие кнопки

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

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

Создать этот метод.

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(); 
    } 
0 голосов
/ 24 апреля 2011

Вы должны поместить код, который генерирует ProgressDialog в самом начале вызываемой деятельности.Затем используйте другой поток, чтобы проанализировать ваш XML-файл и сгенерировать ListView, после завершения работы отклоните ProgressDialog.

Весь этот код должен быть помещен в действие, которое показывает ListView, поскольку ProgreeDialog представляет ход анализа XML.

0 голосов
/ 11 ноября 2011
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 
0 голосов
/ 24 апреля 2011

Используя намерение, чтобы открыть другое действие, Android покидает текущее действие.Если активностью, которую вы открываете с помощью Намерения, является активность, которая показывает ваши проанализированные данные, вы должны сделать следующее:

  1. Открыть ваш ProgressDialog
  2. Запустить новую тему, чтобы проанализировать ваш файл XML
  3. После анализа файла убейте поток и используйте Intent, чтобы показать данные

Я нашел этот старый поток почти по той же теме.

...