gpt4 book ai didi

android - 配置更改后 Activity 引用错误的嵌套 fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:16:59 24 4
gpt4 key购买 nike

我终于在 support library 中研究了新的嵌套 fragment API修订版 11。

在我尝试使用嵌套 fragment 持有的 Activity 引用之前,一切都运行良好。配置更改后,childFragment 似乎没有分离并重新附加到新 Activity 。

基本上在方向更改后,我的 childFragment 处于不一致状态,我无法通过 getActivity() 获得正确的 Activity 实例.

我设法使用 getParentFragment() 得到了正确的一个.getActivity() 并且有效,但我认为这不是正确的方法。

这是我第一次在 parentFragment 中添加 fragment 的代码,之后 fragment 会自动添加回 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();
}
}

Activity 实例中的这种不一致显然会导致我的 fragment 出现多个问题(与服务、广播接收器等绑定(bind))。我可能做错了什么,因为我认为这不是嵌套 fragment 的正确行为。

所以:

我的代码有问题吗?这是嵌套 fragment 的预期行为吗?

我错过了什么吗?我应该自己拆卸/安装它吗?

谢谢

最佳答案

我发现了问题所在,我在父 fragment 中使用了 setRetainInstance(true) 并保持子 fragment 分离。

在我删除该行后,一切都按预期进行

关于android - 配置更改后 Activity 引用错误的嵌套 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14464570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com