gpt4 book ai didi

android - 如何防止我的对话框在 Android 中被隐藏

转载 作者:行者123 更新时间:2023-11-29 00:29:54 25 4
gpt4 key购买 nike

我真正想要的是 Windows 所谓的模态对话框,即用户在执行任何其他操作之前必须关闭的对话框。我怎样才能在Android中获得这种效果?这对于第一次有人运行我的应用程序特别重要,因为我希望他们接受一些条款和条件,但在其他情况下我也需要它。

目前我的 Activity 类中有一个静态类,如下所示,我通过调用该类的静态方法 Create(...) 来弹出对话框。但是如果用户只是触摸对话框后面的 Activity ,或者触摸操作栏上的搜索图标,那么对话框就会隐藏起来。谁能帮忙?

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);

关于android - 如何防止我的对话框在 Android 中被隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16449931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com