android开发分享AlertDialog的setCancelable(false)方法不起作用

我创build了一个AlertDialog工作正常。 它正在消失,如果我按:
1)退出键盘button或
2)使用鼠标后退button
为了使它保持专注于上述条件,我在创build时添加了“.setCancelable(false)”语句。 但是,我仍然看到对话消失。 哪里有问题? 请帮忙。

已添加代码:

return new AlertDialog.Builder(getActivity()) .setIcon(R.drawable.alert_dialog_icon) .setTitle(title) .setCancelable(false) .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((FragmentAlertDialog)getActivity()).doPositiveClick(); } } ) .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((FragmentAlertDialog)getActivity()).doNegativeClick(); } } ) .create(); 

Env:XP Professional上的Android 4.0。

    这是你的完整代码吗? 那么请改变你的代码设置setCancelable(false)像这样

     void showDialog() { DialogFragment newFragment = MyAlertDialogFragment.newInstance( R.string..alert_dialog_two_buttons_title); newFragment.setCancelable(false); newFragment.show(getFragmentManager(), "dialog"); } 

    您的对话框设置为不可取消,但您的主机片段仍然可以取消。 用setCancelable(false)设置你的片段。

    另一个工作例子:

    步骤1

    创build课程:

     public class DialogActivity extends android.app.DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.myMessage); setCancelable(false); return builder.create(); } } 

    第2步

    将方法添加到您的Activity

     private boolean showDialog() { FragmentManager manager = getFragmentManager(); DialogActivity dialogActivity; dialogActivity = new DialogActivity(); dialogActivity.show(manager, "DialogActivity"); return true; } 

    第3步

    当需要显示对话框时调用showDialog()

     dialog.setCanceledOnTouchOutside(false); 

    setCanceledOnTouchOutside(boolean)

    设置在窗口边界之外触摸时是否取消该对话框。 如果设置为true,则对话框设置为可取消(如果尚未设置)。

    以上就是android开发分享AlertDialog的setCancelable(false)方法不起作用相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/513888.html

      (0)
      上一篇 2020年11月29日
      下一篇 2020年11月29日

      精彩推荐