Android FragmentPagerAdapter上的setPrimaryItem()不是';从后台返回活动后,t调用

Android FragmentPagerAdapter上的setPrimaryItem()不是';从后台返回活动后,t调用,android,android-fragments,android-viewpager,activity-lifecycle,fragment-lifecycle,Android,Android Fragments,Android Viewpager,Activity Lifecycle,Fragment Lifecycle,当我启动我的应用程序时,在第一次调用setPrimaryItem()时,我向主机活动添加了一个新片段。此片段从viewpager上的当前片段获取数据集。我在setPrimaryItem()中添加了它,因为我想确保在创建viewpager片段之后创建添加片段 @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { if

当我启动我的应用程序时,在第一次调用
setPrimaryItem()
时,我向主机活动添加了一个新片段。此片段从viewpager上的当前片段获取数据集。我在
setPrimaryItem()
中添加了它,因为我想确保在创建viewpager片段之后创建添加片段

 @Override
            public void setPrimaryItem(ViewGroup container, int position, Object object) {
                if (latestFragment == null) {
                    latestFragment = (ViewPagerFragment) object;
                    addAdditionFragment();
                }

                    latestFragment = (ViewPagerFragment) object;
                super.setPrimaryItem(container, position, object);
            }
这是我运行应用程序时发生的情况:

HostActivity.setPrimaryItem();
ViewPagerFragment.onAttach();
ViewPagerFragment.onCreate();
ViewPagerFragment.onCreateView();
ViewPagerFragment.onActivityCreated();
ViewPagerFragment.onStart();
ViewPagerFragment.onResume();
AdditionFragment.onAttach();
AdditionFragment.onCreate();
AdditionFragment.onCreateView();
AdditionFragment.onActivityCreated();
AdditionFragment.onStart();
AdditionFragment.onResume();
在我将我的应用程序最小化到后台并打开一些其他应用程序之后。我回到应用程序,再次创建了主机活动和片段。我没有看到活动,我的片段也被破坏了,因为我最小化了我的应用程序,只调用了
onStopped()

事情是这样的:

ViewPagerFragment.onAttach();
ViewPagerFragment.onCreate();
AdditionFragment.onAttach();
AdditionFragment.onCreate();
ViewPagerFragment.onCreateView();
ViewPagerFragment.onActivityCreated();
AdditionFragment.onCreateView();
AdditionFragment.onActivityCreated();
ViewPagerFragment.onStart();
ViewPagerFragment.onResume();
AdditionFragment.onStart();
AdditionFragment.onResume();

如您所见,AdditionFragment是在开始时创建的,即使没有调用
setPrimaryItem()
。试图从ViewPager片段获取的数据AdditionFragment为null,因为latestFragment为null。

您可能需要查看buddy。此外,除此之外,如果您更喜欢,您还可以在“简历”和“暂停”中使用这些选项。

您可能希望了解buddy。此外,除此之外,如果您更喜欢,您还可以在恢复和暂停时使用