2013-01-21 45 views
1

我使用ViewPagerindicator和Tabs來顯示我的內容。事情是,我的片段有很多觀點,由於許多元素和圖片需要花費很多時間來生成它們。我想在加載時顯示進度條,但如何管理它?在我的測試實例(TestFragment)我有這種方法有許多許多textViews(它模擬了現實):ViewPagerIndicator,含有大量內容的片段,如何管理加載

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 


     LinearLayout layout = new LinearLayout(getActivity()); 
     layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
     layout.setGravity(Gravity.CENTER); 
     for (int a=0; a < 1000; a++) layout.addView(createTextView()); 

     return layout; 
    } 

在我的傳呼機適配器我可以加載的所有片段一次以避免等待片段而改變網頁:

ViewPager pager = (ViewPager)findViewById(R.id.pager); 
pager.setAdapter(adapter); 
pager.setOffscreenPageLimit(5); 

但我不知道,我怎麼能管理所有的片段加載?由於它們全部在適配器中被逐個加載:

public Fragment getItem(int position) { 
    return TestFragment.newInstance(position); 
    } 

有什麼想法?

回答

0
ProgressDialog progressDialog = new ProgressDialog(context); 
progressDialog.setMessage("Loading..."); 
      progressDialog.show(); 

//do your stuff 

progressDialog.dismiss(); 

這應該只是做到了!

+0

我想他提到他想顯示一個ProgressBar,而不是一個進度對話框。 –

0

幾件事要注意。我不認爲加載1000個TextViews的運行成本與加載許多「元素和圖片」相同。所以,這種模擬不會真的給你準確的結果。

其次,你提到你正試圖在數據加載時顯示進度條?它是一個任意數量的元素和圖片?如果是這樣,你不希望你的進度條在用戶等待內容加載時永遠在那裏。國際海事組織,更好的方法是延遲加載你需要的元素,以及某種緩存,防止底層數據被不必要地重新加載。

相關問題