Ho bisogno di aiuto per il mio problema di aggiornamento delle pagine durante l'utilizzo di viewpager. Sto usando un semplice viewpager con FragmentStatePagerAdapter. Tutto quello che voglio fare è ottenere l'accesso al frammento/vista corrente così come posso aggiornare alcune visualizzazioni testuali nel mio frammento/vista. Ho cercato in giro nel forum e sono venuto a sapere alcune cose - Uno dei modi per gestire questo è l'impostazione di tag in instantiateItem() richiamare la scheda e recuperare la vista di findViewbyTag. Non sono riuscito a capire come implementarlo e non sono nemmeno sicuro che funzioni per FragmentStatePagerAdapter. - Ho esplorato altre opzioni come suggerito in vari forum, ma non posso farle funzionare.Aggiornamento di frammenti/viste in viewpager con fragmentStatePagerAdapter
Il mio codice è molto simile a quello di un android http://developer.android.com/training/animation/screen-slide.html. I componenti di base sono gli stessi (Fragment activity xml con alcuni componenti di visualizzazione tra cui textview, viewpager xml con solo un visualizzatore di pagine, una classe Fragment e la classe FragmentActivity principale). nella mia classe FragmentActivity ho aggiunto una paginaChangelistener al mio viewpager così come posso fare le mie modifiche di textview durante onPageSelected().
Qualsiasi aiuto è apprezzato.
Aggiunta del codice per riferimento.
Public class myActivity extends FragmentActivity
//Variable declarations
protected void onCreate(Bundle savedInstanceState) {
ViewPager mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
View CurrView;
OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
@Override
public void onPageSelected(int pageSelected) {
doTextViewChnges();//access the text view and update it based on pageSelected
---THIS IS WHERE I AM STUCK IN TRYING TO GET THE TEXTVIEW IN MY CURRENT FRAGMWNT/VIEW-------
}
mPager.setOnPageChangeListener(pageChangelistener);
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
super(fm);
}
@Override
public android.support.v4.app.Fragment getItem(int position) {
return ScreenSlidePageFragment.create(position, <other parameters I want to pass>);
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
Non riuscivo a capire come hai ottenuto l'oggetto Frammento nella prima linea. Di seguito è riportato il codice all'interno della classe di attività Fragment in cui creo l'adattatore – user1938357
Ho aggiornato la mia domanda per aggiungere il codice. – user1938357
@ user1938357 quanti frammenti hai? Puoi sostituire FragmentTwo con qualunque sia il nome del tuo frammento. Quando hai un riferimento al tuo frammento, puoi aggiornare la sua vista. –