Как выполнять модальный диалог, что автоматическое отключение 10 секунд спустя?

У меня есть следующее внутри метода onCreate() и обязательно должен будь быть там:

do {

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.contacto).setIcon(R.drawable.rudeboys_icon);
builder.setMessage("hola");
builder.show(); } while(timer_dialog<10);

Который показывает dialog с текстом "привет" и мной timer_dialog, что будет моим временем 10 секунд, но в onCreate я не умею помещать это.

В функции я знаю, что это что-то как:

timer = new CountDownTimer(tiempo_dialog * 1000, 1000) {

        @Override
        public void onTick(long millisUntilFinished) {
            crono.setText("" + String.format(FORMAT, TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
                    TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
                    TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));


        }
        @Override
        public void onFinish() { //finalizar dialog } }

Как я могу делать это? Я поместил do-while, это самое работоспособное?

1
задан 27.01.2017, 21:43
1 ответ

в моем случае используя DialogFragment, объявил Dialog как конец

раньше (так, что timer не добавил):

BottomSheetEsperaConfirmacionPeticion bottomSheet = new BottomSheetEsperaConfirmacionPeticion();

после:

final BottomSheetEsperaConfirmacionPeticion bottomSheet = new BottomSheetEsperaConfirmacionPeticion();

после добавил Handler, чтобы создавать temporizador

   new Handler().postDelayed(new Runnable(){
                    public void run(){
/*aqui agregas las sentencias que deseas que se ejecuten despues del tiempo transcurrido*/
                        bottomSheet.dismiss();/*en mi caso solo se oculta el Dialog*/
                        }
                    }, 5000);/*temporizador*/
0
ответ дан 24.11.2019, 11:25