Как узнать, когда нажимается за пределами диалогового окна - Android - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю с диалоговым окном и двумя negativeButton и positiveButton. Тем не менее, я хотел бы изменить поведение при нажатии вне коробки. Я проверил, и все вопросы, которые я нашел об этой топике c, касаются сокрытия AlertDialog при нажатии вне dialog.dimiss(), но это не мой вопрос. Я хочу знать, есть ли listener, который позволяет мне переключать это поведение (хотел бы вызывать другие методы и удалять другие переменные).

JAVA

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(m_activity);
    alertDialogBuilder.setTitle("Navigation");
    alertDialogBuilder.setMessage("Choose Mode");
    alertDialogBuilder.setNegativeButton("Navigation", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialoginterface, int i) {
            m_navigationManager.startNavigation(m_route);
            m_map.setTilt(60);
            startForegroundService();
        }

        ;
    });
    alertDialogBuilder.setPositiveButton("Simulation", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialoginterface, int i) {
            m_activity.findViewById(R.id.address_form).setVisibility(View.INVISIBLE);
            m_navigationManager.simulate(m_route, 30);//Simualtion speed is set to 45 m/s
            m_map.setTilt(60);
            startForegroundService();
        }
    });

    AlertDialog alertDialog = alertDialogBuilder.create();
    alertDialog.show();

1 Ответ

2 голосов
/ 07 апреля 2020

Вы можете добавить DismissListener, например:

alertDialogBuilder.setOnDismissListener(new DialogInterface.OnDismissListener() {
    @Override
    public void onDismiss(DialogInterface dialog) {

    }
});

Этот обратный вызов будет вызываться, когда диалоговое окно закрывается по любой причине (также когда пользователь выбирает «положительную» или «отрицательную кнопку)!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...