Android之取消ViewPage+Fragment的預加載


用過ViewPage+Fragment組合的童鞋自然知道這個問題,沒有遇到的同學祝願你們永遠不會遇到,呵呵。直接上關鍵代碼

注釋:setUserVisibleHint每次fragment顯示與隱藏都會調用,他的調用順序由於onCreate,所以需要一些常量進行判斷

private boolean mHasLoadedOnce = false;
@Override
	public void setUserVisibleHint(boolean isVisibleToUser) {
		if (this.isVisible()) {
			// we check that the fragment is becoming visible
			if (isVisibleToUser && !mHasLoadedOnce && mArrayList==null) {
				
                                // async http request here
				mHasLoadedOnce = true;
			}
		}
		super.setUserVisibleHint(isVisibleToUser);
	}


由於setUserVisibleHint優於onCreate調用,所以當onCreate調用完畢setUserVisibleHint就不會觸發,這時需要在首個顯示的fragment調用setUserVisibleHint方法

@Override
	public void onActivityCreated(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		setUserVisibleHint(true);
		super.onActivityCreated(savedInstanceState);
	}

這個是設置viewpager保留多少個顯示界面

pager.setOffscreenPageLimit(3);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM