繁体   English   中英

覆盖Android中的onResume方法不适用于每个片段

[英]Overiding onResume method in android not working in every fragment

我正在创建具有3个片段的android应用,每次返回片段时我都希望刷新数据。 因此,我在每个片段中重写onResume()方法,并将系统输出打印添加到onresume,以检查其是否正常工作。

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

请帮助我解决此问题。

看来您在ViewPager中使用FragmentStatePagerAdapter 适配器的预期行为是仅创建相邻的片段。 如果您不希望出现这种情况,请使用FragmentPagerAdapter 但是要注意所有片段占用的内存。

使您的片段实现一个接口:

public interface Listener {
    void resume()
}

使您的活动实现OnPageChangeListener

viewPager.addOnPageChangeListener(this);

然后执行以下操作:

@Override
public void onPageSelected(int position) {
    ((Listener) mAdapter.getItem(position)).resume();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM