gpt4 book ai didi

android - fragment 上的 onstart() 在 android 中被调用两次

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

我有一项 Activity ,其中有一个 fragment 。在 fragment 的 onStart() 中,我有所有网络调用。当应用程序来自后台时,onStart() 被调用两次并且所有网络被调用两次,我还观察到 onCreate() 只被调用一次。有人遇到过这样的问题。请帮帮我。我的 fragment 交易代码如下

 MainFragment myFragment = new MainFragment ();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.content_frame, myFragment, "MyFragment");
fragmentTransaction.commitAllowingStateLoss();

提前致谢!!!

最佳答案

在替换之前尝试检查 fragment 是否已经添加

final FragmentManager fragmentManager = getSupportFragmentManager();
final Fragment content = fragmentManager.findFragmentById(R.id.content_frame);
if (content == null || !(content instanceof MainFragment)) {
final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
final MainFragment myFragment = new MainFragment();
fragmentTransaction.replace(R.id.content_frame, myFragment, "MyFragment");
fragmentTransaction.commitAllowingStateLoss();
}

关于android - fragment 上的 onstart() 在 android 中被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22405008/

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