保存的实例包在 DialogFragment 的 onCreateView 中为 null

saved instance bundle is null in onCreateView for DialogFragment

我在显示警告对话框之前保存了一个键值对。但是,对话框的 onCreateDialog() 是使用空包调用的。我需要做些什么才能将捆绑包传递给对话框吗?

MyDialogFragment testFrag= new MyDialogFragment();
Bundle args = new Bundle();
args.putString("car-type", "Audi");
testFrag.setArguments(args);
testFrag.show(getFragmentManager(), "info");

您可以通过 DialogFragment.getArguments() 检索参数。

savedInstanceState 仅在发生配置更改时使用。它正在 onSaveInstanceState(Bundle outState) 中填充,随后在 onCreate()onCreateView() 中传递给新的 DialogFragment。第一次创建片段或 Activity 是 null.

使用 getArguments 检索 setArguments 包。

作为 onCreateDialog 方法参数的 savedInstanceState 包是在 onSaveInstanceState 中填充的包。

这两个完全没有关系。