[英]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.