我正在创建具有3个片段的android应用程序,每次回到片段时我都想要刷新数据。因此,我在每个片段中覆盖onResume()
方法,并将系统输出打印到onresume以检查它是否正常工作。
但是当我导航到第二个片段时,它显示了片段3 onresume的打印系统。当我去片段3它没有显示任何添加系统打印。但当我再次回到第二时,它会显示片段1的系统输出。
请帮我解决这个问题。
答案 0 :(得分:1)
您的FragmentStatePagerAdapter
似乎正在使用ViewPager
。适配器的预期行为是仅创建相邻片段。如果您不希望此行为,请使用FragmentPagerAdapter
。但要注意所有碎片占用的记忆。
答案 1 :(得分:0)
让你的片段实现一个接口:
public interface Listener {
void resume()
}
让您的活动实施OnPageChangeListener
:
viewPager.addOnPageChangeListener(this);
然后执行以下操作:
@Override
public void onPageSelected(int position) {
((Listener) mAdapter.getItem(position)).resume();
}