Foros del Web » Programando para Internet » Android »

refrescar FragmentPagerAdapter

Estas en el tema de refrescar FragmentPagerAdapter en el foro de Android en Foros del Web. Buenas, venía a ver si alguien me puede ayudar. Tengo un fragment con tabs. La idea es que cada tab me muestre un fragment distinto. ...
  #1 (permalink)  
Antiguo 18/09/2013, 15:48
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 67
Antigüedad: 11 años, 6 meses
Puntos: 1
refrescar FragmentPagerAdapter

Buenas, venía a ver si alguien me puede ayudar.

Tengo un fragment con tabs. La idea es que cada tab me muestre un fragment distinto. Para eso me he creado la clase MyPageAdapter (el codigo está abajo). Esta clase, en su metodo getItem instancia los fragment que corresponde. Además, en el actionBar tengo un spinner. Dependiendo del valor del spinner en contenido de los fragment debe cambiar, pero el problema es que una vez que ya se ha llamado una vez a getItem con una determinada posición, no se le vuelve a llamar.

para que os hagáis una idea, los tabs don Plantilla, Resultados y Clasificación y en el Spiner selecciono el equipo. La cosa es que si yo entro con un equipo a los tres tabs, después, aunque cambie el valor del spiner a otro equipo me siguen apareciendo los fragment de los tabs con los valores del primer equipo.

no sé si me he explicado bien... :( :( :( espero que se entienda, porque no sé cómo hacerlo!


¿alguien me puede ayudar???


Código:
public class MyPagerAdapter extends FragmentPagerAdapter {

		public MyPagerAdapter(android.support.v4.app.FragmentManager fm) {
			super(fm);
		}

		private final String[] TITLES = mActivity.getResources()
				.getStringArray(R.array.tabs_equipo);

		@Override
		public CharSequence getPageTitle(int position) {
			return TITLES[position];
		}

		@Override
		public int getCount() {
			return TITLES.length;
		}

		@Override
		public void startUpdate(ViewGroup container) {
			if (mActivity.getSupportActionBar().getSelectedNavigationIndex() != -1)
			{
				idEquipo = items.get(
						mActivity.getSupportActionBar()
								.getSelectedNavigationIndex()).getId_equipo();
			}
		}

		@Override
		public SherlockFragment getItem(int position) {
			switch (position) {
			case 0:
				mPlantilla = PlantillaFragment.newInstance(idEquipo);
				return mPlantilla;
			case 1:
				mResultados = ResultadosFragment.newInstance(idEquipo);
				return mResultados;
			case 2:
				mCronicas = CronicasFragment.newInstance(idEquipo);
				return mCronicas;
			case 3:
				mClasificacion = ClasificacionFragment.newInstance(idEquipo);
				return mClasificacion;
			default:
				return NoticiasFragment.newInstance();
			}

		}
	}
  #2 (permalink)  
Antiguo 18/09/2013, 16:18
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 67
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: refrescar FragmentPagerAdapter

Buenas, escribo para comentar que si en vez de hacer que la clase MyPagerAdapter extienda de FragmentPagerAdapter la hago extender de FragmentStatePagerAdapter sí que me actualiza, pero no como es debido, dependiendo de las tabs que haya pulsado me actualiza o no. Es decir, cuando entro en el getItem(int position), si le he dado al tab 0, me entra en el 0 y en el 1, si le he dado al 1 me entra en el 0 y en el 1 si le doy al 2 me entra en el 2 y en el 3 y si le doy al 3 me entra en el 2 y en el 3!!! si estando en el 3 le doy al 1 me entra en el 0 y cosas así!!!

no sé qué estoy haciendo mal...

Última edición por educdd; 18/09/2013 a las 17:01

Etiquetas: activity, refrescar, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:35.