7

Ho un problema con startActivityForResult, i frammenti e le modifiche di orientamento.getActivity() nel frammento è nullo dopo il cambio di orientamento

Chiamo startActivityForResult() da un frammento, quindi apro la seconda attività con il frammento allegato. In questa seconda attività, quando cambio orientamento e ritorno alla prima attività, viene chiamato onActivityResult (metodo framment). Ma c'è un problema, perché un ho qualcosa di simile:

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 
} 

risposta

-1

Tutto il problema era che io non dichiarare android: id per il frammento in XML. ID o TAG di Android necessari per riconoscere il frammento memorizzato e riprodurre tutti gli elementi in esso contenuti. Quindi ragazzi, ricordatevi: ogni istanza di frammento ha bisogno di un ID o tag univoci!

+2

Potresti aggiungere qualche frammento di codice. – Pawan

0

dovrai chiamare il super richiesto prima di chiamare getActivity(), in questo modo:

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

Sarà bello, ma non funziona. Ho NPE in getActivity ... – TommyNecessary

Problemi correlati