Я создаю диалоговое окно следующим образом:
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_1:
return new AlertDialog.Builder(this)
.setTitle(R.string.s_dlg1)
.setPositiveButton(android.R.string.ok, this)
.create();
case DIALOG_2:
...
...
}
return null;
}
@Override
public void onClick(DialogInterface dialog, int whichButton) {
if (dialog == ???) {
...
}
else if (dialog == ???){
...
}
}
Как я определяю, какое диалоговое окно инициировало onClick метод? Я не могу объявить методы интерфейса как встроенные при создании диалогового окна, потому что я хочу к переменным доступа в моем классе. Любой интерфейс передает своего рода идентификатор своим методам для идентификации, какой объект, названный методом, но я, может казаться, ничего не делаю с 'диалоговым окном DialogInterface'.
Возможно, вы можете извлечь слушателя onclick как отдельный класс, а затем передать ему id диалога? Интерфейс android.content.DialogInterface.OnClickListener