У меня есть кнопка, которая выбирает все проверенные флажки в ListView и показывает все отмеченные флажки в AlertDialog.для диалогового окна предупреждения о списке элементов массива
Я повторяю все элементы с помощью for-loop, и у меня есть положительная кнопка и отрицательная кнопка - и когда я нажимаю кнопку negativeButton, я хочу отменить все диалоги и вернуться к приложению.
Но вместо этого, когда я нажимаю отрицательную кнопку, она повторяется один за другим.
btnDialog = (Button) findViewById(R.id.btnDialog);
btnDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuffer responseText = new StringBuffer();
//responseText.append("הפריטים שנבחרו הם: \n");
Models models = new Models();
//List<Models> modelList = new ArrayList<>();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Diet Product");
responseText.append("הפריטים שנבחרו הם: \n");
Log.d(responseText.toString(), msg);
for (int i = 0; i < (modelList.size()); i++) {
models = modelList.get(i);
if (models.isSelected()) {
alertDialogBuilder
.setMessage(responseText.append(models.getName() + " : " + models.getProtein() + "\n"))
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, close current activity
MainActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
}
}
});
Это не итерацию назад, он увольняет самый верхний диалог всех тех, которые вы открыли сразу –
спасибо за ответа- так что вы предлагаете? Я пытаюсь использовать "dialog.cancel();" также, но он делает то же самое! – guydroid123
Не ответ, просто комментарий. Я не знаю, как ответить, но я бы предложил попробовать не открывать много диалоговых окон в цикле –