2016-04-27 7 views
0

Я пытаюсь отобразить диалог прогресса в ACTION_UP, по какой-то странной причине он не работает, я не вижу ошибок в журналах, все в блоке ACTION_UP работает, за исключением прогресса диалог? кто-нибудь знает, что происходит?ProgressDialog не отображается - Android

Я даже добавил Тост, чтобы проверить его, и он прекрасно работает ...

button.setOnTouchListener(new View.OnTouchListener() { 
    public boolean onTouch(View view, MotionEvent event) { 
     if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) { 
      //works here 
      //progress = ProgressDialog.show(context,"Processing...","Preparing your file", true); 
     } else if (event.getAction() == android.view.MotionEvent.ACTION_UP ) { 

      Toast toast; 
      duration = Toast.LENGTH_LONG; 
      toast = Toast.makeText(context, text, duration); 
      toast.show();//this work and the toast is getting displayed 

      progress = ProgressDialog.show(context,"Processing...","Preparing your file", true); 

     } 
     return true; 
    } 

}); 

ответ

0

По какой-то причине иногда progressDialog обыкновение показывать, если ваш призывают показать, если основной поток я не знаю, почему, но я работать с той же проблемой времени назад моей работой Arround было назвать шоу с помощью обработчика и работоспособного

new Handler().postDelayed(new Runnable(){ 
     @override 
     public void run() { 
      progressDialog.show(); 
     } 
},100); 
+0

Я могу назвать шоу на главную теме в своих проектах ... –

+0

Как я иногда говорю, что работать-то это не :) – thunder413

+0

Или вы можете использовать удивительные библиотеки материалов https: // github.com/afollestad/material-dialogs – thunder413

0

Я склонен показывать диалоговые уведомления как код ниже, где вы положили бы subShowdialog(); где вы показываете свой тост. Должно сработать.

private void subShowdialog() { 
    final ProgressDialog progDailog = ProgressDialog.show( 
      context, "Processing...","Preparing your file", true); 

    new Thread() { 
     public void run() { 
      try { 
       sleep(1000); 
       //Start whatever action here 
       progDailog.dismiss(); 
      } catch (Exception e) { 
      } 

     } 
    }.start(); 
} 
+0

Упс, я см. Я отправил свой ответ после того, как другие уже добавили правильный ответ (научите меня начинать ответ, пока я делаю кофе). –

Смежные вопросы