Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 423
#1

Переопределить onDismiss у DialogFragment - Программирование Android

22.01.2016, 11:42. Просмотров 205. Ответов 2
Метки нет (Все метки)

Имеется класс, наследованный от DialogFragment.
Хочется переопределить onDismiss у DialogFragment так, чтобы можно было ловить нажатия кнопок диалога
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class YesNoDialog extends android.app.DialogFragment implements OnClickListener {
 
 
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
 
        form = getActivity().getLayoutInflater().inflate(R.layout.yes_no, null);
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
 
        Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
 
        return builder.setTitle("").setView(form)
                .setPositiveButton(android.R.string.ok, this)
                .setNegativeButton(android.R.string.cancel, null).create();
    }
 
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
 
    }
 
    public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
        this.onDismissListener = onDismissListener;
    }
Далее вызываю этот диалог из главной активити:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
YesNoDialog dialog_yesno = new YesNoDialog();
Bundle args = new Bundle();
args.putString("question", "Закрыть карту?");
dialog_yesno.setArguments(args);
 
//тут подчеркивает красным setOnDismissListener.
dialog_yesno.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
    //тут нужно перехватывать событие закрытия диалога
        }
    });
 
dialog_yesno.show(getFragmentManager(), "");
Но событие onDismiss(DialogInterface dialog) не перехватывается в основной активити.
Почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2016, 11:42     Переопределить onDismiss у DialogFragment
Посмотрите здесь:

Почему вызывается onDismiss - Программирование Android
Привет. У меня есть DialogFragment, который вызывается в главной активности. Когда я меняю ориентацию экрана (диалог открыт), мне нужно...

Особенности DialogFragment - Программирование Android
И снова здравствуйте) Почему когда показывается диалог, то выполнение кода после dialog.show(...) продолжается? Например, пользователь...

DialogFragment в Fragment - Программирование Android
можно ли визивать DialogFragment с Fragment???

Перемещение DialogFragment - Программирование Android
На основе Dialog Fragment делаю свой диалог. Подскажите куда копать, чтобы MyGialog движением пальца перемещать по экрану.

Запрет пересоздания DialogFragment - Программирование Android
Привет. Можно ли как нибуть запретить пересоздание DialogFragment при повороте? Не Activity а именно DialogFragment.

Разные стили DialogFragment - Программирование Android
Есть несколько AppCompatDialogFragment. Когда я запускаю приложение на телефоне с android 6.0.0, то у всех диалогов стиль Material Design....

Выбор даты в DialogFragment - Программирование Android
Добрый день уважаемые. Немного покапавши я пришел к тому выводу, что выбрать дату внутри DialogFragment отдельным диалоговым окном...

Данные из DialogFragment в Activity - Программирование Android
Всем добрый день, помогите пож. советом. Программировать начал неделю назад поэтому вопрос думаю элементарный, но все-же... Ниже...

Получение данных из DialogFragment - Программирование Android
Добрый день. Задача: получать данные из DialogFragment. Диалог вызывается из ActionBar. Используется для добавления записи в БД. Надо...

Изменить стиль DialogFragment - Программирование Android
Приветствую, Есть приложение, в приложении есть DialogFragment с DatePicker и парой кнопок. Как изменить его стиль? Ну хотя бы цвет...

FragmentActivity -> DialogFragment (утечка памяти) - Программирование Android
Всем привет! Обнаружил у себя такой баг: при повороте экрана - каждый раз увеличивается кол-во вызовов "DF: onCreateView()"... код...

DialogFragment и создание своего диалога - Программирование Android
Разбирал на стартандроиде 110 урок по DialogFragment...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
22.01.2016, 13:33     Переопределить onDismiss у DialogFragment #2
Slon747, перемудрили вы:
Java
1
2
3
4
5
6
7
YesNoDialog dialog_yesno = new YesNoDialog() {          
    @Override
    public void onDismiss(DialogInterface dialog) {
        Log.d("", "onDismiss");
    }
};
dialog_yesno.show(getFragmentManager(), "");
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 423
22.01.2016, 14:12  [ТС]     Переопределить onDismiss у DialogFragment #3
Спасибо.
А не подскажете ли, как узнать, какая из кнопок нажата?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru