Android: setResult no funciona

Escenario: Tengo MainActivity.java , OtherPageForFragments.java y un fragmento que está en OtherPageForFragments.java

En MainActivity.java , he escrito el siguiente código para iniciar una actividad y obtener el resultado en

OnActivityResult (int requestCode, int resultCode, datos de intención)

es

 startActivityForResult(new Intent(this, OtherPageForFragments.class),REQUEST_CODE_MAP); 

En el onDestroy() de la clase de fragmento, he escrito esto:

 public void onDestroyView() { // TODO Auto-generated method stub super.onDestroyView(); mlocManager.removeUpdates(this); Intent intent = new Intent(); intent.putExtra("Latitude", passLatLng.latitude); intent.putExtra("Longitude", passLatLng.longitude); getActivity().setResult(Activity.RESULT_OK, intent); getActivity().finish(); } 

Ahora, quiero mi resultado en la clase MainActivity . Por lo tanto, he escrito el siguiente código en el método onActivityResult :

 if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_MAP) { tost("2"); double lat=data.getExtras().getDouble("Latitude"); double lng=data.getExtras().getDouble("Longitude"); tost(lat + " -- " + lng); } 

El problema: el resultCode que devuelve no es Activity.RESULT_OK y el Intent que recibo es null .

¿Qué hacer? Gracias

 getActivity().setResult(Activity.RESULT_OK, intent); getActivity().finish(); 

Este código no debe estar en onDestroy. OnDestroy ocurre después de que la actividad ya está terminada, y se llamó onActivityResult.

Este código necesita en el código que cierra la actividad / fragmento, como en la tecla de regreso presionado, o un botón de cierre onClick

Tal vez usted necesita aclarar los modos de lanzamiento para ambas actividades. Normalmente deben ser "estándar", si hay "singleTop" … atributos en su archivo de manifiesto de actividad. Usted necesita prestar más atención.

Prueba esto:

 Intent data = new Intent(); intent.putExtra("Latitude", passLatLng.latitude); intent.putExtra("Longitude", passLatLng.longitude); if (getParent() == null) { setResult(Activity.RESULT_OK, data); } else { getParent().setResult(Activity.RESULT_OK, data); } getActivity().finish(); 
  • Android NotSerializableException aumenta para un objeto
  • Función nativa no se ha encontrado ninguna implementación
  • Cómo evitar la animación de conflictos con la rotación de dispositivos en android?
  • Error al cargar CharSequence en Scala 2.11.4 y sbt 0.12.4
  • Cargar archivos de android (java) a un servidor mediante PHP
  • Phonegap evento deviceready
  • Patrón ViewHolder correctamente implementado en CursorAdapter personalizado?
  • ¿Puede detectar el ruido blanco mediante programación?
  • ¿Cómo salir de una aplicación de Android con código?
  • Cómo borrar las preferencias de SharedPreferences en Android, no solo Valores
  • Protección contra el spam onclick ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.