viewpager+fragment來回滑動fragment重新載入的簡單解決辦法
阿新 • • 發佈:2019-02-15
最近的一個專案用到了viewpager加fragment,但是來回滑動的時候會出現重新聯網載入的現象,仔細研究了發現其中的原因,在這裡分享一下。
起初比較迷惑,讓後就在fragment的生命週期中挨個log了一下最後發現在FragmentPagerAdapter預設會儲存的三個item也就是當前的一個,前一個和後一個。滑動過程中介面卡預設會把前一個之前的item destroy掉,所以當滑動回來時就依然會重新載入。也就是還會執行一次onCreateView的方法。分析其原因就是介面卡銷燬了之前的item,自然解決辦法就是不讓他銷燬。
具體方法就是重寫FragmentPagerAdapter的destroyItem方法註釋掉super.destroyItem(container, position, object);就行了。
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
//super.destroyItem(container, position, object);
}