2013-07-27 7 views
5

Ich verwende eine ViewPager in meiner App.Wie kann ich feststellen, wenn der ViewPager geladen ist?

Meine ViewPager lädt eine Menge Daten und es wird eine Weile geredet, bis es Inhalt zeigt. Meine Frage ist: Wie kann ich feststellen, dass der ViewPager geladen wird (um seinen Inhalt auf dem Bildschirm anzuzeigen), damit ich die Lade-Fortschrittsleiste entfernen kann?

Danke!

+0

, wie Sie Ihre viewpager laden? –

+0

Was meinst du? Ich habe einen Adapter, der ungefähr 6 Fragmente lädt, weil ich 6 Seiten mit pager.setOffscopePageLimit (6) vorlade; Deshalb braucht es Zeit. pager.setAdapter (pagerAdapter); – roiberg

+0

@Luksprog: Wie würde der Wechsel zu einem Hintergrund-Thread mir helfen zu wissen, wann ich aufhören soll, die Fortschrittsleiste anzuzeigen? – roiberg

Antwort

2

Versuchen Sie Progressbar auf Ihrem Adapter getItem Entfernen() Rückruf-Funktion, wenn Sie die letzte Seite Fragment zurückkehren:

@Override 
    public Fragment getItem(int position) { 
     TabInfo info = mTabs.get(position); 
     Fragment InsantiatedFragment = Fragment.instantiate(mContext, info.clss.getName(), info.args); 

     if(InsantiatedFragment.getId() == 5) // your last page Id 
     { 
      //remove your progressbar here 
     } 

     return InsantiatedFragment; 


    } 
+0

Ich habe Seiten gezählt und es hat funktioniert, Danke! – roiberg