在android中覆盖onResume方法不能在每个片段中工作

时间:2017-09-24 08:25:46

标签: java android android-fragments onresume

我正在创建具有3个片段的android应用程序,每次回到片段时我都想要刷新数据。因此,我在每个片段中覆盖onResume()方法,并将系统输出打印到onresume以检查它是否正常工作。

但是当我导航到第二个片段时,它显示了片段3 onresume的打印系统。当我去片段3它没有显示任何添加系统打印。但当我再次回到第二时,它会显示片段1的系统输出。

请帮我解决这个问题。

2 个答案:

答案 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();
}