7

Ich habe ein Problem mit StartActivityForResult, Fragmente und Ausrichtung Änderungen.getActivity() in Fragment ist Null nach Änderung der Orientierung

Ich rufe startActivityForResult() von einem Fragment, dann öffne ich zweite Aktivität mit Fragment angefügt. In dieser zweiten Aktivität, wenn ich die Orientierung ändere und zur ersten Aktivität zurückkehre, wird onActivityResult (Fragment-Methode) aufgerufen. Aber es gibt ein Problem, weil ein ich so etwas wie dieses:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    getActivity(); //here's a problem because 
    //getActivity is null but only after orientation change on second activity 
} 

Antwort

-1

das Problem, dass ich alles war Deklarieren Sie nicht android: id für das Fragment in XML. Android benötigt ID oder TAG, um das gespeicherte Fragment zu erkennen und alle Elemente darin zu reproduzieren. Also, Leute, erinnern Sie sich - jede Instanz von Fragment benötigt eine eindeutige ID oder einen Tag!

+2

Könnten Sie bitte ein Code-Snippet hinzufügen. – Pawan

0

Sie müssen die erforderliche Super aufrufen, bevor getActivity() aufrufen, etwa so:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    getActivity(); 
} 
+3

Es wird schön sein, aber es funktioniert nicht. Ich habe NPE in getActivity ... – TommyNecessary