Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2016, 04:05
jlopezisern
 
Fecha de Ingreso: mayo-2014
Mensajes: 45
Antigüedad: 9 años, 11 meses
Puntos: 0
Pasar valores a dos fragments con viewpager cuando cambio de tab.

Tengo una actividad principal con dos fragments, uno muestra la información general y el otro el mapa.
Los valores de la base de datos los recojo en el método de la actividad principal:
public void processFinish(String outlatitud,String outlongitud,String outnombre, String outimg,…){
if(viewPager.getCurrentItem() == 0) {
Arqueolog fragmentArte= (Arqueolog)viewPager.getAdapter().instantiateItem( viewPager, viewPager.getCurrentItem());
fragmentArte.recogerDatos(outnombre, outimg,…);
}else if(viewPager.getCurrentItem() == 1){
Mapa fragmentArteMapa = (Mapa)viewPager.getAdapter().instantiateItem(viewP ager, viewPager.getCurrentItem());
fragmentArteMapa.recogerDatos(outlatitud,outlongit ud,outnombre);
}
}
Y la paso a los fragments con una instancia de estos y el método recogenDatos que en los fragmens queda así:
Fragment Arqueolog:
public void recogerDatos(final String nombre, final String imagen,…){
TextView txtArteGeneral = (TextView) getActivity().findViewById(R.id.nombreArteGeneral) ;
txtArteGeneral.setText(nombre);

}
Fragment Mapa:

public void recogerDatos(final String outlatitud, final String outlongitud,final String outnombre){
TextView latPosicion= (TextView)getActivity().findViewById(R.id.textMapa Lat);
latPosicion.setText(outlatitud);
TextView lngPosicion= (TextView) getActivity().findViewById(R.id.textMapaLong);
lngPosicion.setText(outlongitud);
TextView nombrePosicion= (TextView) getActivity().findViewById(R.id.textMapaArte);
nombrePosicion.setText(outnombre);

}
El problema que tengo es que cuando entro en la actividad al ser getCurrentItem() ==0 me pasa los valores al primer fragment correctamente, pero cuando cambio de tab a getCurrentItem() ==1 no me pasa los valores al fragment del mapa.
Mi pregunta es cómo puedo hacer para que cuando cambio de tab me pase esos valores.
Gracias de antemano a quien me pueda orientar a una solución.