Quitar y agregar la página a FragmentPagerAdapter

Estoy utilizando un adaptador de paginación de fragmentos con 5 páginas. Y im que fija el adaptador para ver paginador como abajo

public class xxx extends FragmentPagerAdapter { final int PAGE_COUNT_LOGGED_IN = 6; final int PAGE_COUNT_LOGGED_OUT = 2; TextView oTextView = null; LayoutInflater inflater = null; PagerTabStrip m_oPageTabStrip = null; String m_strTab = null; String[] m_strArray = null; Context m_oContext = null; /** Constructor of the class */ public xxxx (Context context, android.support.v4.app.FragmentManager oFragmentManager) { super (oFragmentManager); m_oContext = context; } /** This method will be invoked when a page is requested to create */ @Override public Fragment getItem(int arg0) { xxxxFragment myFragment = new xxxFragment (); Bundle data = new Bundle(); data.putInt("current_page", arg0+1); myFragment.setArguments(data); return myFragment; } /** Returns the number of pages */ @Override public int getCount() { if (Utility.m_bIsLoggedIn == true) { return PAGE_COUNT_LOGGED_IN; } else { return PAGE_COUNT_LOGGED_OUT; } } @Override public CharSequence getPageTitle(int position) { String strText = " "; switch(position) { case 0: strText = getBaseContext().getString(R.string.ccc); break; case 1: strText = getBaseContext().getString(R.string.bbb); break; case 2: strText = getBaseContext().getString(R.string.bbb); break; case 3: strText = getBaseContext().getString(R.string.bbb); break; case 4: strText = getBaseContext().getString(R.string.bbb); break; case 5: strText = getBaseContext().getString(R.string.Sbbb); break; } } 

Y en el fragmento i crear una disposición lineal individualmente para cada página como abajo

 bbb.m_oSharedPage = (LinearLayout) LayoutInflater.from(Utility.m_oService).inflate(R.layout.viewpage, null); iView = Utility._YOURS_SHARED; oCurrentPage = .m_oSharedPage; 

Y estoy fijando el adaptador como abajo

 m_oPager.setAdapter(m_oPagerAdapter); 

Mi pregunta es cómo puedo agregar y quitar la quinta página dinámicamente … como para algún caso necesito página 5 y algún caso necesito quitar la página 5.

Tengo algo que podría ayudar, no estoy cambiando el Fragment , simplemente eliminando y agregándolo de nuevo. Esto sólo cambiará desde la última posición. En otras palabras, si tuviste cinco Fragments y querías eliminar el tercero, entonces esto no funcionará. No estoy seguro de que esta es la mejor solución, pero aquí es lo que he hecho:

 mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 

Entonces, como una muestra estoy usando un método de agregar y quitar click :

 public void remove(View v) { // Change the count to whatever you would like mSectionsPagerAdapter.setCount(1); // Triggers a redraw of the PageAdapter mSectionsPagerAdapter.notifyDataSetChanged(); } public void add(View v) { // Change the count back to the initial count mSectionsPagerAdapter.setCount(2); // Triggers a redraw of the PageAdapter mSectionsPagerAdapter.notifyDataSetChanged(); } 

He añadido un método setCount() a mi SectionsPagerAdapter :

 public void setCount(int count) { this._count = count; } 

Cambió getCount() y agregó un recuento predeterminado:

 private int _count = 2; @Override public int getCount() { return this._count; } 

Aquí está mi SectionsPagerAdapter completo:

 public class SectionsPagerAdapter extends FragmentPagerAdapter { private int _count = 2; public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Object instantiateItem(ViewGroup container, int position) { return super.instantiateItem(container, position); } @Override public Fragment getItem(int position) { switch (position) { case 0: return new FragmentOne(); case 1: return new FragmentTwo(); default: return null; } } public void setCount(int count) { this._count = count; } @Override public int getCount() { return this._count; } @Override public CharSequence getPageTitle(int position) { switch (position) { case 0: return getString(R.string.fragment_title_one).toUpperCase(Locale.ENGLISH); case 1: return getString(R.string.fragment_title_two).toUpperCase(Locale.ENGLISH); } return null; } } 
  • Actualizar imágenes en FragmentStatePagerAdapter al reanudar la actividad
  • ViewPager getScrollX devuelve 0 cuando el fragmento se reanuda / se recrea
  • Eliminar Elemento + Desplazarse a Siguiente en Android ViewPager
  • Reordenar páginas en FragmentStatePagerAdapter usando getItemPosition (objeto objeto)
  • ¿Cómo uso FragmentPagerAdapter para tener pestañas con contenido diferente?
  • Cómo reemplazar Fragment dentro de ViewPager, usando PagerAdapter?
  • Fragmentos en ViewPager no se cargan cuando se recrea el fragmento que contiene
  • IllegalStateException: No se puede cambiar la etiqueta del fragmento era android: switcher ahora android: switcher
  • FragmentPagerAdapter notifyDataSetChanged no funciona
  • Vinculación y desvinculación de Android Service a / de Fragment (en ViewPager)
  • Cargando el fragmento Google Maps de Google Maps administrado por ViewPager
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.