2013-09-22 5 views
8

Ich habe ein Fragment, das eine andere Aktivität mit ruft:Android: Wie erhalten Sie das Ergebnis der Aktivität zurück, wenn Sie von Fragment anrufen?

ProductEditionMaintenanceActivity.class); 
Bundle extras = new Bundle(); 
extras.putString("productCode", productCode); 
extras.putInt("productEditionID", 0); 
intent.putExtras(extras); 
getActivity().startActivityForResult(intent, 1); 

und Rückkehr aus der Tätigkeit:

Intent resultIntent = new Intent(); 
setResult(Activity.RESULT_OK, resultIntent); 
finish(); 

ich folgend in dem Fragmente

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    //Do something 
} 

jedoch zu verwenden versucht, , Vermute ich, dass die geschaffene Absicht die Referenz der übergeordneten Aktivität des Fragments deshalb onActivityResult übergab Fragment wird nicht aufgerufen. Wenn dies der Fall ist, was muss ich tun, damit das Fragment das Ergebnis der aufgerufenen Aktivität erhält?

Antwort

11

Die Fragmente onActivityResult werden NACH den Hostaktivitäten onActivityResult aufgerufen, solange super.onActivityResult von der Hostaktivität aufgerufen wird. Siehe https://stackoverflow.com/a/6147919/552902 für weitere Einzelheiten

Verwandte Themen