1

Я имею проблему с AlertDialog, он появляется дважды,Xamarin.Android AlertDialog всплывает дважды внутри фрагмента

, когда я нажмите на одну из кнопок снова снова появляется, вот мой код.

var builder = new Android.App.AlertDialog.Builder(Activity); 
    var view = Activity.LayoutInflater.Inflate(Resource.Layout.dialog, null); 
    Android.App.AlertDialog dialog = null; 
    builder.SetView(view); 
    dialog = builder.Create(); 
    dialog.SetButton2("CANCEL", delegate { dialog.Dismiss(); }); 
    dialog.Show(); 

любая идея, что я могу делать неправильно?

+0

Вы пытались установить точку останова на код и посмотрите, действительно ли это называется? и, если это так, существует ли стек вызовов? – Gusman

+0

Я нашел решение этой темы при добавлении обработчиков событий к моим кнопкам, которые вызывают метод с указанным выше кодом, мне пришлось сначала отключить события, например, btShowDialog.Click - = -eventHandler; –

ответ

0

Большое спасибо. Я использовал анонимный метод/делегат btnOne.clicked + = (o, e) => ...), и он все еще вызывал фрагмент дважды, должен был перейти на именованный делегат, а затем следовать вашим инструкциям, я сначала отказался от подписки Я повторно подписал. Спасибо

Я нашел причину в моем приложении, у меня был метод SetUp, в который включены мои обработчики событий. Я называю это методом OnCreate, а также вызываю метод из метода OnResume. Im noob, так учиться, как я иду, может быть очевидным для других, но это не так очевидно при обучении. Также помните, что OnResume вызывается после OnPause, и поскольку ваша основная активность приостановлена ​​из-за фрагмента, когда вы отключаете фрагмент, вызывается OnResume и вызываемые обработчики событий снова

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

  • Нет связанных вопросов^_^