我在我的应用程序中添加了两个片段,当我从第一个片段移动到第二个片段时,它正常工作。
但是,现在当我从第二个片段导航回我的第一个片段时,我不想加载我的第一个片段的onCreateView()方法。
如何在从第二个片段返回时第二次调用第一个片段的onCreateView()? 我该怎么办?
答案 0 :(得分:2)
当你从第二个片段回到第一个片段时,你的视图将重新创建片段的生命周期,它应该始终被调用。
为了避免使用onCreateView()
方法调用数据,您可以在调用数据之前进行检查,数据是否已经可用。
由于你的片段已经在堆栈中,所以onCreate()
在这种情况下不会调用,所以在onCreate()
方法中取一个布尔标志(isDataLoaded)为false,当你通过调用获取数据时从onCreateView()你可以使它成为现实。并且在调用新数据之前检查onCreateView()
isDataLoaded为false然后进行调用,否则它将使用旧数据。
答案 1 :(得分:0)
我假设你回去的时候正在创建一个新的片段。相反,您应该保留对要返回的片段的引用。