Aggiornamento di frammenti / visualizzazioni in viewpager con fragmentStatePagerAdapter

Hai bisogno di aiuto per il mio problema di aggiornamento delle pagine durante l'utilizzo di viewpager. Sto utilizzando un semplice viewpager con FragmentStatePagerAdapter. Tutto quello che voglio fare è accedere al frammento / vista corrente in modo da poter aggiornare alcune visualizzazioni di text nel mio frammento / vista. Ho cercato in giro nel forum e sono venuto a conoscere poche cose – Uno dei modi per gestire questo è impostando il tag in istantiateItem () ricall l'adattatore e recuperare la visualizzazione da findViewbyTag. Non riuscivo a capire come implementare questo e non sono anche sicuro se funziona per FragmentStatePagerAdapter. – Ho esplorato altre opzioni come suggerito in vari forum, ma non sono in grado di farli funzionare.

Il mio codice è molto simile a quello in un android http://developer.android.com/training/animation/screen-slide.html . I componenti di base sono gli stessi (attività xml di frammento con alcuni componenti di visualizzazione inclusa una visualizzazione di text, xml viewpager con solo un codice di visualizzazione in essa, una class di frammento e la class principale FragmentActivity). nella mia class FragmentActivity ho aggiunto un pageChangelistener al mio viewpager in modo da poter fare le mie modifiche di text durante onPageSelected ().

  • Come aggiungere ProgressDialog
  • Come trasferire un'image Uri da un'attività all'altra?
  • ADB Nessuna periferica trovata
  • layoutopt manca
  • Come get l'istanza del frammento attualmente visibile in ViewPager:
  • L'animation personalizzata per il cassetto di navigazione si apre e si chiude
  • Qualsiasi aiuto è apprezzato.

    Aggiunta del codice di 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; } } 

  • Android Dx Error1, Imansible convertire in formato Dalvik
  • La differenza tra android di prodotto in-app gestito e non gestito?
  • Inizia l'attività con un'animation
  • Pasta di intercettazioni Android \ copia \ taglio su editText
  • Fai uno screenshot
  • Convalida del numero di telefono Android
  • 2 Solutions collect form web for “Aggiornamento di frammenti / visualizzazioni in viewpager con fragmentStatePagerAdapter”

    nel tuo OnPageChangeListener:

      OnPageChangeListener pageChangelistener = new OnPageChangeListener() { @Override public void onPageSelected(int pageSelected) { ScreenSlidePageFragment currentFragment = (ScreenSlidePageFragment) mPagerAdapter.getItem(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------- } 

    suppongo che tu desideri accedere ai tuoi frammenti dalla tua attività e aggiornare i punti di vista. I frammenti sono parti di attività e le loro opinioni possono essere accessibili da loro. I frammenti vengono creati dynamicmente in viewadapters e non esiste un modo semplice e semplice per tagliarli. Puoi semplicemente accedere a un frammento per il suo numero di indice. Primo uno è 0 secondo uno è 1 e così via …

     //access your fragment(in your case your first fragment) //this part should be inside your doTextViewChnges() Fragment fragment = (Fragment ) adapterViewPager .getFragment(0); if (fragment != null) { //call a public method inside your fragment to update your text view fragment .updateYourTextView(); } 

    Modifica: all'interno del frammento crea il seguente metodo e aggiorna da lì la propria visualizzazione di text.

     void updateYourTextView() { yourTextView.setText("yourtext"); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.