zoukankan      html  css  js  c++  java
  • dialog弹出,点击back按键无法返回问题解决

    今天阅读队友代码,调试代码中,发现对话框弹出点击back按键无法返回问题解决。

    代码如下:

    /**
         * 单个按钮没有标题的弹框
         * 
         * @param context
         * @param content内容
         * @param btnString按钮名称
         * @param dia按钮事件
         *            ,没有传null
         */
        public static void showDialogConfirm(Context context, String content, String btnString, final dialogOnClick dia) {
            final AlertDialog dialog = new AlertDialog.Builder(context).create();
            dialog.setCanceledOnTouchOutside(false);
            // dialog.setCancelable(false);
            dialog.show();
            Window window = dialog.getWindow();
            window.setContentView(layout.dialog_account_passed);
            TextView txt_content = (TextView) window.findViewById(R.id.msg);
            txt_content.setText(content);
            Button btn_ok = (Button) window.findViewById(R.id.btn_confirm);
            btn_ok.setText(btnString);
            btn_ok.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (dia != null) {
                        dia.showDialogOnClick();
                    }
                    dialog.dismiss();
                }
    
            });
        }

    其中代码

    dialog.setCancelable(false);

    如果点击back无法dismiss dialog,正确的姿势是:

     dialog.setCanceledOnTouchOutside(false);

    这样就能保证dialog在点击back可以dismiss对话框。

  • 相关阅读:
    Method of Four Russians 学习笔记
    一道不知道哪里来的数论题
    ICPC2021银川 游记
    决策单调性优化dp学习笔记
    浅谈如何优美地实现线段树?
    2021 EC Final 2020 题解
    5.5 SYSU校内训练
    5.4 SYSU校内训练
    存储相关招聘信息-长期
    screen几个使用方法
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/4672649.html
Copyright © 2011-2022 走看看