2014-04-04 16 views
5

Ho due view cercapersone in uno schermo. One ViewPager utilizza l'indicatore di cerchio di JakeWharton e il secondo utilizza TabPage Indicator. Devo scaricare i dati dal back-end usando la chiamata asincrona. Una volta che i dati sono stati scaricati, dovrei visualizzare i dati nei viewpager. Ecco lo snippet di codice della mia attività.java.lang.IllegalStateException: ViewPager non è stato associato (utilizzando JakeWharton ViewPager Indicator)

ViewPager pager1; 
ViewPager pager2; 

public onCreate(){ 
    //I Set Up ContentView 
    //Locate ViewPagers & Indicators 
    //pager1 = ... 
    //pager2= ... 
    //Locate Indicators 
    CallAsyncTask().execute(); 


} 
private class CallAsyncTask extends AsynTask{ 
      doinbackground(){ 
      //Download Data 
      } 
      onPostExecute(){ 
      displayData(); 

      } 

} 
private displayData(){ 
    // Set Up Adapters & Indicators for ViewPagers 
} 

quando eseguo questo codice, ottengo ViewPager non vincolato eccezione. C'è una soluzione per questo. Penso che sia una soluzione alternativa a setUpContentView all'interno del metodo onPostExecute() di AsyncTask.Ma anche bisogno di visualizzare progressBars fino al download dei dati. Come posso ottenere tutto questo.

+0

http://stackoverflow.com/questions/22868885/viewpager-has-not-been-bound – zee

risposta

16

ho appena messo visibility: gone sulla TabPageIndicator e quando ricevo i dati da visualizzare cambio la visibilità visibile

+0

ha fatto questo lavoro per voi? – zee

+0

sì. il metodo che lanciava l'eccezione era chiamato onLayout o onMeasure. è per questo che ho impostato la visibilità: andato fino a quando ho impostato l'adattatore. – andrei

+0

funziona !!! Dio ... grazie –

1

Nel mio caso quello che ho trovato è che io non sono la creazione del "ViewPager" a "TabPageIndicator". Dopo aver impostato

indicator.setViewPager(pager); 

mio problema è andato.