課程
/移動開發
/Android
/多種多樣的App主界面Tab實現方法
從第三個tab切換回第一個tab,重新加載第一個tab數據,沒有加載緩存。 從第二個tab切換回第一個tab,則是有緩存,沒有重新加載。 我想實現1,2,3,4tab切換,都是加載緩存,如何實現?
2015-10-26
源自:多種多樣的App主界面Tab實現方法 3-1
正在回答
重寫低版本v4包的viewpager,copy源碼,private static final int DEFAULT_OFFSCREEN_PAGES = 0;//默認是1
把這句話改成0就好了,其他的不用動,樓上的不行的,源碼里面寫的很清楚,大小小于1,會被強制改成1,所以沒用的,只能自己重寫一下
setoffscreenPageLimit(int),用這個方法就行了。這個方法的意思是設置預加載頁面,將里面的參數設置為你要加載的頁面數減一。viewpager的機制是這樣的,加載第一個頁面的時候,會預加載第二個頁面,加載第二個頁面的時候,會預加載第二個頁面......。以上所述就是解決這個問題的最簡單方法,但是在實際開發中很多情況下都會取消預加載,那么問題來了,如何在這種情況下實現對fragment的緩存,我也不清楚,互相交流吧
舉報
本課程就將講解迄今為止最流行的4種實現Tab的方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-06
重寫低版本v4包的viewpager,copy源碼,private static final int DEFAULT_OFFSCREEN_PAGES = 0;//默認是1
把這句話改成0就好了,其他的不用動,樓上的不行的,源碼里面寫的很清楚,大小小于1,會被強制改成1,所以沒用的,只能自己重寫一下
2016-02-26
setoffscreenPageLimit(int),用這個方法就行了。這個方法的意思是設置預加載頁面,將里面的參數設置為你要加載的頁面數減一。viewpager的機制是這樣的,加載第一個頁面的時候,會預加載第二個頁面,加載第二個頁面的時候,會預加載第二個頁面......。以上所述就是解決這個問題的最簡單方法,但是在實際開發中很多情況下都會取消預加載,那么問題來了,如何在這種情況下實現對fragment的緩存,我也不清楚,互相交流吧