2013-07-05 16 views
8

Domanda: Come ottenere la vista corrente di un ViewPager FragmentStatePagerAdapter?Android: ViewPager FragmentStatePagerAdapter visualizza corrente

  1. Ho trascorso quasi 24 ore su questo e ho cercato ovunque le soluzioni di adattamento.
  2. Ottenere la posizione corrente è facile, l'ho già ottenuto. Questo è aggiornato Visualizza.
  3. FragmentStatePagerAdapter è richiesto, non PagerAdapter.

    • This solution suggerito setTag e findViewWithTag via instantiateItem(View container, int position). Questo è per PagerAdapter.
    • Tuttavia nel FragmentStatePagerAdapter il instantiateItem ha un ViewGroup param nonVista param: instantiateItem(**ViewGroup** container, int position)

quindi spero non è impossibile, è vero? Per favore aiuto!

risposta

4

È possibile utilizzare il setTag trucco con la vista si sta tornando nella vostra instantiateItem metodo .

Qui, sto usando un ViewPager con PagerAdapter, ma penso che questa idea potrebbe funzionare anche per te.

Così, quando si è istanziare le vostre opinioni (in PagerAdapter il metodo è anche instantiateItem (contenitore ViewGroup, int position)), si consiglia di utilizzare setTag alla vista.

Ti piace questa:
view.setTag("view" + position);
return view;

Così, quando è necessario il corrente vista, si dovrebbe fare questo: View view = (View) pager.findViewWithTag("view" + pager.getCurrentItem());, dove cercapersone è il ViewPager, che si può ottenere passando da parametri dalla tua attività al tuo adattatore.

+0

scusa per la risposta in ritardo e grazie per l'aiuto. Come hai ottenuto la 'vista' nel tuo 'view.setTag()' mentre il param è 'ViewGroup container'? – jerrytouille

+0

Ci scusiamo per la risposta anche più tarda. In realtà la vista di cui stavo parlando è la vista che si restituisce alla fine di ** instantiateItem **. –

Problemi correlati