在此代码段中,我在显示警告对话框之前保存了一个键值对。但是,使用空包调用对话框的onCreateDialog()。是否需要做一些额外的工作才能将包传递给对话框?
MyDialogFragment testFrag= new MyDialogFragment();
Bundle args = new Bundle();
args.putString("car-type", "Audi");
testFrag.setArguments(args);
testFrag.show(getFragmentManager(), "info");
答案 0 :(得分:7)
您可以通过DialogFragment.getArguments()
检索参数。
savedInstanceState
仅在发生配置更改时使用。它正在填充onSaveInstanceState(Bundle outState)
,然后传递到DialogFragment
和onCreate()
中的新onCreateView()
。第一次创建片段或活动时,它是null
。
答案 1 :(得分:1)
使用setArguments
检索getArguments
捆绑包。
作为savedInstanceState
方法参数的onCreateDialog
捆绑包是onSaveInstanceState
中填充的捆绑包。
这两个完全不相关。