gpt4 book ai didi

android - 从后台获取 fragment

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:31 24 4
gpt4 key购买 nike

几乎无法从后台获取 fragment ,甚至开始考虑保留在单例中,这可能很糟糕。像这样保存到 backstack,并一直尝试通过标签获取它,否则会出现错误。

Fragment fragment = UserProfileFragment.newInstance(null);
FragmentTransaction trans = getFragmentManager().beginTransaction();
trans.replace(FRAGMENT_PLACE_RESOURCES, fragment);
trans.addToBackStack("profile");
trans.commit();

它只是在这里返回 null 所以我不能使用这个 fragment 。没有日志。

Fragment fragment2 = getFragmentManager().findFragmentByTag("profile");

最佳答案

getFragmentManager().findFragmentByTag("标签")

仅在您添加带有特定标签的 fragment 时使用,例如

fragmentTransaction.add(R.id.order_container,mProfileFragment,"profile");

fragmentTransaction.replace(R.id.order_container,mProfileFragment,"sometag");

然后你就可以通过标签找到这个 fragment 了。

在您的情况下,您正在向后台堆栈添加一个事务,因此您将无法通过标签找到该 fragment 。您只是将事务添加到 backstack 那不是 fragment 。而且您的 fragment 也已从 Activity 中删除并被销毁,因此您必须通过弹出后台堆栈而不是通过标签查找该 fragment 来恢复事务。你必须打电话

getFragmentManager().popBackStack("profile");

将该 fragment 返回到 Activity 并使其在屏幕上可见。

关于android - 从后台获取 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32139036/

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