显示 AlertDialog 时后退按钮不起作用

阿斯卡

我想在按下后退按钮时销毁当前页面,但我的后退按钮在显示 AlertDialog 时不起作用。
我已经像下面那样实现了 onBackPressed,但它仍然不起作用。

 private void showPopupSubscribe() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    View dialogView = getLayoutInflater().inflate(R.layout.paket_subscribe, null);
    builder.setView(dialogView);
    builder.setCancelable(false);
    builder.setIcon(R.drawable.logo_1);
    builder.setTitle(R.string.confirm);
    final RadioGroup radioGroup = dialogView.findViewById(R.id.rgSubscribe);

    builder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            pd.show();
            int selected = radioGroup.getCheckedRadioButtonId();
            if (selected == R.id.rbMonthly) {
                smsCode = "aa";
            } else if (selected == R.id.rbTwoWeeks) {
                smsCode = "bb";
            } else if (selected == R.id.rbWeekly) {
                smsCode = "cc";
            } else if (selected == R.id.rbTwoDays) {
                smsCode = "dd";
            }
            reqWebCharging(smsCode);
            dialog.dismiss();
        }
    });

    dialog = builder.create();
    dialog.show();
}

@Override
public void onBackPressed() {
    super.onBackPressed();

    if (dialog.isShowing()) {
        finish();
    }
}
学得很快

显示对话框时,您必须处理后退按钮

dialog.setOnKeyListener(new Dialog.OnKeyListener() {

            @Override
            public boolean onKey(DialogInterface arg0, int keyCode,
                    KeyEvent event) {
                // TODO Auto-generated method stub
                if (keyCode == KeyEvent.KEYCODE_BACK) {

                    dialog.dismiss();
                    finish();
                }
                return true;
            }
        });

另外onBackPressed()应该是这样的

@Override
public void onBackPressed() {
    super.onBackPressed();
     finish();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

显示 AlertDialog 时重置活动

来自分类Dev

显示alertDialog时颤振键盘被关闭

来自分类Dev

活动开始时不会显示AlertDialog

来自分类Dev

AlertDialog-显示带有自定义类的软键盘不起作用

来自分类Dev

在onOptionsItemSelected中单击按钮时,不会显示Alertdialog

来自分类Dev

AlertDialog 按钮不起作用,它不会关闭

来自分类Dev

使用隐藏和显示(jquery)时使浏览器的后退按钮起作用

来自分类Dev

单击按钮时,显示更改单选按钮值时单选按钮值不起作用

来自分类Dev

按下后退键时如何抑制 AlertDialog 再次显示(活动之间的转换)

来自分类Dev

在AlertDialog中显示列表

来自分类Dev

如何从AlertDialog显示Toast?

来自分类Dev

等待直到AlertDialog显示

来自分类Dev

在ProgressDialog之后显示AlertDialog

来自分类Dev

从类实例显示AlertDialog

来自分类Dev

AlertDialog显示SystemUiVisibility

来自分类Dev

未显示 Android AlertDialog

来自分类Dev

Android AlertDialog 显示空白

来自分类Dev

AlertDialog 不显示文本

来自分类Dev

AlertDialog否定按钮默认情况下突出显示

来自分类Dev

AlertDialog否定按钮默认情况下突出显示

来自分类Dev

使用AlertDialog.Builder时防止显示StatusBar

来自分类Dev

尝试在线程中显示AlertDialog时,应用崩溃

来自分类Dev

当属性Maxlenght超过EditText时显示AlertDialog

来自分类Dev

显示键盘时服务内部的AlertDialog没有向上移动

来自分类Dev

在从服务调用的asyncTask中显示alertDialog时遇到错误?

来自分类Dev

来自AlertDialog的ArrayAdapter notifyDataSetChanged不起作用

来自分类Dev

AlertDialog setmessage在Asynctask中不起作用

来自分类Dev

AlertDialog.dismiss()不起作用

来自分类Dev

AlertDialog-CheckedTextView不起作用

Related 相关文章

热门标签

归档