【发布时间】:2021-12-30 17:58:09
【问题描述】:
请帮帮我。我尝试将 SetCancelable(false) 放在 dialogfragment 中,但仍然无法正常工作。
这是我的 DialogFragment:
public static class UsageAcessDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Grant Usage Access permission")
.setTitle("Usage Access Permission")
.setCancelable(false)
.setPositiveButton("Allow", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
startActivityForResult(
new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS),
MY_PERMISSIONS_REQUEST_PACKAGE_USAGE_STATS);
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
感谢那些愿意发表评论的人。
【问题讨论】:
-
“仍然无法工作”是什么意思?您的意思是在单击“允许”按钮之前,您可以在对话框之外单击以关闭对话框?
-
你需要在
DialogFragment而不是Dialog/Builder上调用setCancelable();例如,在设置AlertDialog之前只需setCancelable(false);。 -
为什么要在 Fragment 中构建另一个对话框?
标签: java android dialog fragment dialogfragment