Я пишу приложение для Android, в котором выбор пользователя вызывает пользовательский Dialog
, из которого выбор может вызвать секунду Dialog
.
При отображении начального значения Dialog
из класса Activity я устанавливаю onDismissListener
для извлечения пользовательских настроек, что отлично работает в других случаях, когда 2-й диалог не запускается. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как оставить первый диалог открытым, пока второй не будет закрыт, так что информация от обоих отправляется обратно в класс Activity.
Надеюсь, какой-нибудь код сделает это немного более понятным:
Класс MainActivity, где я запускаю исходный CustomDialog:
customDialog = new CustomDialog(this);
customDialog.show();
customDialog.setOnDismissListener(new OnDismissListener(){
public void onDismiss(DialogInterface di){
slection = customDialog.getselection();
updateUI(); //updates a listview with the results
}
});
Внутри класса CustumDialog, где я запускаю SecondDialog поверх него:
if(specify){
SecondDialog secondDialog = new SecondDialog(context);
secondDialog.show();
secondDialog.setOnDismissListener( new OnDissmissListener(){
public void onDismiss(DialogInterface di){
// this is where I want to call the CustomDialog's dismiss() method
// so that they both close at the same time and the data from here
// can be sent back to the MainActiivty through the CustomDialog's
// onDismissListener
}
});
}
dismiss();
Итак, еще раз: я пытаюсь предотвратить вызов метода dismiss()
CustomDialog до тех пор, пока SecondDialog также не будет отклонен. Есть ли способ, которым я могу вызвать его из OnDismissListener SecondDialog?