У меня есть список сообщений и время, когда я хочу показать их с AlertDialog
;alertDialog должен завершиться после истечения времени, и следующий диалог должен быть показан до конца списка
Структура модели AlertList: (int time, String message, логическое отмена)
AlertList a0 = new AlertList(5, "11111111111", false);
AlertList a1 = new AlertList(2, "222222222", true);
AlertList a2 = new AlertList(2, "3333333333333", false);
AlertList a3 = new AlertList(2, "4444444444444444444444", true);
List<AlertList> list = new ArrayList<>();
list.add(a0);
list.add(a1);
list.add(a2);
list.add(a3);
Я хочу показать alertDialog после завершения другого alertDialog
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
// synchronized (this) {
int finalI = i;
AlertDialog dialog = new AlertDialog.Builder(context).create();
new Handler().post(() -> {
dialog.setMessage(list.get(finalI).getStrComment());
dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
if (list.get(finalI).isCancelable()) {
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true);
// } else {
}
dialog.show();
new Handler().postDelayed(() -> {
dialog.dismiss();
// resume();
}, list.get(finalI).getTime() * 1000);
dialog.setOnDismissListener(dialog1 -> notify());
});
try {
Thread.sleep(list.get(finalI).getTime() * 1000 + 500);
} catch (InterruptedException e) {
e.printStackTrace();
}
// if (!paused)
// pause(finalI);
// notify();
// }
}
}
}