Mar*_*nci 5 android android-fragments android-fragmentactivity android-support-library
我终于在支持库 修订版11中查看新的嵌套片段API .
一切都很顺利,直到我尝试使用嵌套片段所持有的活动引用.配置更改后,childFragment似乎没有分离并重新附加到新活动.
基本上在方向更改后,我的childFragment处于一个不一致的状态,我无法使用getActivity()从中获取正确的活动实例.
我使用getParentFragment(). getActivity()来获取正确的一个并且它可以工作,但我不认为这是正确的方法.
这是我第一次在parentFragment中添加片段的代码,之后片段自动添加回parentFragment:
public void addChildFragment() {
Fragment f = getFragment().getChildFragmentManager().findFragmentByTag( FRAGMENT_CHILD_TAG );
if (f == null) {
FragmentTransaction ft = getFragment().getChildFragmentManager().beginTransaction();
f = new TrackBrowserFragment();
f.setArguments( getFragment().getArguments() );
ft.add( R.id.fragment_album_detail_child_fragment_layout, f , FRAGMENT_CHILD_TAG );
ft.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
活动实例中的这种不一致显然导致了我的片段的多个问题(与服务,广播接收器等绑定).我可能做错了,因为我不认为这是嵌套片段的正确行为.
所以:
我做错了代码吗?这是嵌套片段的预期行为吗?
我错过了什么吗?我应该自己拆卸/贴上它吗?
谢谢