如何防止我的对话框隐藏在Android中
我真正想要的是Windows所称的模式对话框,即用户必须先关闭该对话框,然后才能执行其他操作。我如何在安卓系统中获得这种效果?这对于第一次有人运行我的应用程序尤其重要,因为我希望他们接受一些条款和条件,但我还有其他情况需要这样做 目前,我的活动类中有一个静态类,如下所示,我通过调用该类上的静态方法Create(…)来打开对话框。但是,如果用户只是触摸对话框后面的活动,或触摸操作栏上的搜索图标,则对话框将隐藏。有人能帮忙吗如何防止我的对话框隐藏在Android中,android,android-dialog,android-dialogfragment,Android,Android Dialog,Android Dialogfragment,我真正想要的是Windows所称的模式对话框,即用户必须先关闭该对话框,然后才能执行其他操作。我如何在安卓系统中获得这种效果?这对于第一次有人运行我的应用程序尤其重要,因为我希望他们接受一些条款和条件,但我还有其他情况需要这样做 目前,我的活动类中有一个静态类,如下所示,我通过调用该类上的静态方法Create(…)来打开对话框。但是,如果用户只是触摸对话框后面的活动,或触摸操作栏上的搜索图标,则对话框将隐藏。有人能帮忙吗 public static class SimpleDialog exte
public static class SimpleDialog extends DialogFragment {
private static final String DialogLayoutIdString = "DialogLayoutId";
public static SimpleDialog Create(Activity activity, int Layoutid) {
FragmentManager fm = activity.getFragmentManager();
SimpleDialog about = new SimpleDialog();
Bundle args = new Bundle();
args.putInt(DialogLayoutIdString, Layoutid);
about.setArguments(args);
about.show(fm, "");
return about;
}
private int LayoutId;
private Activity activity;
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
Bundle args = getArguments();
LayoutId = args.getInt(DialogLayoutIdString);
setCancelable(cancellable);
activity = getActivity();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
// various code to create the dialog box
AlertDialog alert = builder.create();
return alert;
}
}
调用
dialog.setCanceledOnTouchOutside(false)代码>
这实际上是默认值。我不知道他们为什么要改变它。请注意,这不会阻止他们仅仅点击后退按钮来关闭它-停止调用setCancelable(false)代码>