Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使AlertDialog在其外部点击时不可删除?[android]_Android_Dialog_Android Alertdialog - Fatal编程技术网

如何使AlertDialog在其外部点击时不可删除?[android]

如何使AlertDialog在其外部点击时不可删除?[android],android,dialog,android-alertdialog,Android,Dialog,Android Alertdialog,每当我的警报对话框出现在屏幕上时,我可以点击它的外部,它就会消失,但我希望它不会在点击它的边界之外时消失。 以下是我的警报对话框代码: @Override protected Dialog onCreateDialog(int id) { Log.wtf("x", "on create dialog...."); AlertDialog.Builder adb = new AlertDialog.Builder(this); win_lose_view = (Relati

每当我的警报对话框出现在屏幕上时,我可以点击它的外部,它就会消失,但我希望它不会在点击它的边界之外时消失。 以下是我的警报对话框代码:

@Override
protected Dialog onCreateDialog(int id) {
    Log.wtf("x", "on create dialog....");
    AlertDialog.Builder adb = new AlertDialog.Builder(this);
    win_lose_view = (RelativeLayout) getLayoutInflater().inflate(R.layout.win_lose_screen, null);
    adb.setView(win_lose_view);
    upper_text = (TextView) win_lose_view.findViewById(R.id.upper_text);
    upper_text.setRotation(180);
    lower_text = (TextView) win_lose_view.findViewById(R.id.lower_text);
    upper_decide = (Button) win_lose_view.findViewById(R.id.upper_decide);
    upper_decide.setRotation(180);
    lower_decide = (Button) win_lose_view.findViewById(R.id.lower_decide);
    return adb.create();
}

@Override
protected void onPrepareDialog(int id, Dialog dialog){
    Log.wtf("x", "on prepare dialog...");
    super.onPrepareDialog(id, dialog);
    upper_decide = (Button) win_lose_view.findViewById(R.id.upper_decide);
    upper_decide.setRotation(180);
    lower_decide = (Button) win_lose_view.findViewById(R.id.lower_decide);

    View.OnClickListener goBack = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent goToChooseHero = new Intent(Battlefield.this, ChooseHero.class);
            goToChooseHero.putExtra("username1", username1);
            goToChooseHero.putExtra("username2", username2);
            startActivity(goToChooseHero);
            System.exit(1);
        }
    };
    upper_decide.setOnClickListener(goBack);
    lower_decide.setOnClickListener(goBack);
}

你试过创建对话框了吗

AlertDialog.Builder adb = new AlertDialog.Builder(this);
...
Dialog dialog = adb.create()
dialog.setCanceledOnTouchOutside(false);
return dialog;