保存的实例包在 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
中填充的包。
这两个完全没有关系。
我在显示警告对话框之前保存了一个键值对。但是,对话框的 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
中填充的包。
这两个完全没有关系。