簡體   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