如何知道何时在对话框外单击-Android

问题描述 投票:0回答:1

我正在使用对话框,以及两个negativeButtonpositiveButton。但是,我想更改在框外按下时的行为。我已经检查过,关于该主题的所有问题都与在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();
android dialog
1个回答
2
投票

例如,您可以添加DismissListener

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

    }
});

当由于某种原因关闭对话框时也会调用此回调(同样,当用户选择“正”或“负”按钮时!)>

© www.soinside.com 2019 - 2024. All rights reserved.