我正在创建一个Fragment
FragParent
显示几个输入字段,其中一个是 sub- Fragment
frag
,带有专门的音频控件。
两个片段的布局都是在它们的onCreateView()
方法中从 XML 加载的。我正在使用的代码如下,但我对此有一些疑问:
A)replace()
如果子片段已经被返回,它是否可以findFragmentByTag()
,或者这是一个不必要的步骤?
inflate()
B)在父Fragment完成调用之前,子Fragment是否可以在布局中被实例化和替换?
<!-- language: lang-java -->
// Load sub-Fragment with audio UI.
String fragStr = "fragment_audio_str";
int fragView = R.id.frag_audio_frame_layout;
FragmentManager fm = getChildFragmentManager();
FragmentTransaction fmt = fm.beginTransaction();
Fragment frag = (Fragment) fm.findFragmentByTag(fragStr);
if (null == frag) {
frag = new Fragment();
}
fmt.replace(fragView, frag, fragStr);
fmt.commit();
return inflater.inflate(R.layout.fragment_parent, container, false);
} // END onCreateView() of FragParent