Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2013, 15:48
educdd
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 67
Antigüedad: 12 años, 1 mes
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();
			}

		}
	}