#c# #android #xamarin #android-alertdialog
#c# #Android #xamarin #android-alertdialog
Вопрос:
Я создал всплывающее окно с предупреждением, которое запрашивает пользователя, хочет ли он отредактировать или удалить напоминание.
Если пользователь нажимает на кнопку удаления напоминания, я хочу показать другое всплывающее окно с предупреждением, в котором спрашивается, уверен пользователь или нет.
Что-то вроде этого:
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
AlertDialog alert = dialog.Create();
alert.SetTitle("Edit or Delete?");
alert.SetMessage("Would you like to edit your reminder or delete it?");
alert.SetIcon(Resource.Drawable.image_2020_09_29T09_45_02_165Z);
alert.SetButton("Delete", (c, ev) =>
{
alert.SetTitle("Delete Reminder");
alert.SetMessage("Are you sure!");
alert.SetIcon(Resource.Drawable.Screenshot_2020_11_10_at_8_05_44_AM);
alert.SetButton("yes", (c, ev) =>
{
TextView _txtLabel;
reminder = listitem[e.Position];
ReminderHelper.DeleteReminder(this,reminder);
_txtLabel = FindViewById<TextView>(Resource.Id.txt_label);
StartActivity(new Intent(this, typeof(ListReminder)));
Toast.MakeText(this, "Deleted Sucessfully!", ToastLength.Short).Show();
GC.Collect();
});
alert.SetButton2("no", (c, ev) => { });
});
alert.SetButton2("Edit", (c, ev) =>
{
StartActivity(new Intent(this, typeof(MainActivity)));
});
alert.SetButton3("Cancel", (c, ev) => { });
alert.Show();
Однако в приведенном выше коде, когда я нажимаю кнопку «Удалить», напоминание не удаляется.
Любая помощь приветствуется!
Комментарии:
1. Причина, по которой это не работает, заключается в том, что вы используете один и тот же экземпляр дважды,
AlertDialog alert = dialog.Create();
это необходимо вызывать каждый раз, когда вы хотите создать оповещение.2. @FreakyAli большое спасибо, теперь это работает. Вы должны сделать это в качестве ответа, я бы с радостью дал вам преимущество 🙂
Ответ №1:
Причина, по которой это не работает, заключается в том, что вы дважды используете один и тот же экземпляр, AlertDialog alert = dialog .Create(); это должно вызываться каждый раз, когда вы хотите создать оповещение.
AlertDialog alert = dialog.Create();