Problema con pasar datos de DialogFragment a FragmentActivity.
Publicado por Joaquín (24 intervenciones) el 31/10/2015 20:25:51
Soy bastante novato en Android y llevo un tiempo dándole vueltas a un problema que me ocurre y no se como resolverlo. Es el siguiente. Tengo una actividad principal que extiende de FragmentActivity, desde la que abro un dialog que extiende de un DialogFragment y quiero pasar una variable que es distancia del dialog a la clase principal, y hago lo siguiente:
En DialogFragment:
Que es el botón de OK del dialog, y la función:
Y la distancia la recibo en la clase principal (ActivityMain) de la siguiente manera:
Abrir el DialogFragment:
Y recibir la variable distancia:
Hasta aquí funciona bien, pero cuando quiero integrarlo en la aplicación principal, (voy haciendo pruebas hasta que funciona y luego lo integro en la actividad principal), es decir hago el siguiente cambio:
Intent intentdistancia = new Intent(getActivity(), MainActivity.class);
Por:
Intent intentdistancia = new Intent(getActivity(),GuiameActivityItems.class);
Al ejecutar la aplicación da error y la tengo que cerrar. Y la pregunta es alguien me puede decir que porqué.
En DialogFragment:
1
2
3
4
5
6
aceptar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pasarDistancia();
}
});
1
2
3
4
5
6
7
private void pasarDistancia() {
Intent intentdistancia = new Intent(getActivity(), MainActivity.class);
Bundle extras = new Bundle();
extras.putString("DistTotal",suma);
intentdistancia.putExtras(extras);
startActivity(intentdistancia);
}
Abrir el DialogFragment:
1
2
3
4
5
6
7
ver.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment dialog = new DistanciaDialog();
dialog.show(getSupportFragmentManager(), "distancia_dialog");
}
});
1
2
3
4
extras = getIntent().getExtras();
if(extras != null) {
totaldistancias = extras.getString("DistTotal");
informdist.setText(totaldistancias); }
Intent intentdistancia = new Intent(getActivity(), MainActivity.class);
Por:
Intent intentdistancia = new Intent(getActivity(),GuiameActivityItems.class);
Al ejecutar la aplicación da error y la tengo que cerrar. Y la pregunta es alguien me puede decir que porqué.
Valora esta pregunta
0