How to prevent popup from closing by outside the w

2019-06-14 17:43发布

In my activity i'm opening a popup (alert dialog) with yes and no option. But when I click outside the window or anywhere in the screen the popup is dismissed. How can I prevent the popup from closing by clicking anywhere. I want that it should close when I enter No button only. Please help!!!

Here is the popup code in MainActivity.java

Handler handler = new Handler();

handler.postDelayed(new Runnable() {

    @Override

    public void run() {


   if (context != null) {

            AlertDialog.Builder alert = new AlertDialog.Builder(context, R.style.MyAlertDialogStyle)
                    .setTitle("Title")
                    .setMessage("Message")
                    .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            // continue with delete
                            Intent intent = new Intent(MainActivity.this, WebActivity.class);
                            startActivity(intent);
                        }
                    })
                    .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialogInterface, int which) {
                            dialogInterface.dismiss();
                            // do nothing
                        }
                    });

            mDialog = alert.create();
            mDialog.getWindow().getAttributes().windowAnimations = R.style.MyAlertDialogStyle;
            if (!((Activity) context).isFinishing())
            mDialog.show();
            // .setIcon(R.drawable.inr1)
            // .show();

        }
    }
}, 15000);

4条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-06-14 18:26

add this line before mDialog.show();

mDialog .setCanceledOnTouchOutside(false);
查看更多
\"骚年 ilove
3楼-- · 2019-06-14 18:26

Try mDialog.setCancelable(true);

查看更多
不美不萌又怎样
4楼-- · 2019-06-14 18:26

simply adding following line will solve your problem

mDialog .setCanceledOnTouchOutside(false);
查看更多
相关推荐>>
5楼-- · 2019-06-14 18:31

Just add

mDialog.setCancelable(false);
查看更多
登录 后发表回答