quando inizio Camera
intento, ho notato che onActivityResult
viene chiamato prima dello onResume
nel ciclo di vita fragment
.Quando viene chiamato onActivityResult del frammento rispetto al ciclo di vita dei frammenti?
Ho anche notato che onActivityResult
viene chiamato dopo onStart
.
Ma ecco la parte strana: ho variabile fileUri == "qualche percorso immagine". Questa variabile è
- NOT NULL in onStart.
- NULL nel onActivityResult
- NOT NULL di nuovo in onResume
vedere Logcat
12-03 14:39:42.418: D/Fragment1(29220): onStart fileUri: file:///mnt/sdcard/OPS_IMAGES/IMG_20121203_143933.jpg
12-03 14:39:42.463: W/PhoneWindow(29220): Previously focused view reported id 2131034140 during save, but can't be found during restore.
12-03 14:39:42.463: D/Fragment1(29220): onActivityResult fileUri is NULL!!!
12-03 14:39:42.468: D/Fragment1(29220): onResume fileUri: file:///mnt/sdcard/OPS_IMAGES/IMG_20121203_143933.jpg
parte peggiore è, questo accade solo il 50% del tempo. Un altro 50% suActivityResult può accedere al valore fileUri senza problemi ...
Come posso eseguire il debug di questo?
NOTA: Per semplicità, non ho incluso il codice dei miei metodi onResume, onStart, onActivityResult. Sono solo metodi di base con controllo variabile e chiamata di registro. Se necessario, modifico la domanda e aggiungo questi metodi.
NOTA2: sto utilizzando la libreria di supporto di Google per supportare i frammenti su versioni API precedenti.
sei riuscito a risolvere il problema? – aProgrammer
È possibile che siano istanze diverse della stessa classe 'Fragment1'? Aggiungi un 'System.identityHashCode (this)' ai log per stampare un identificatore per istanza – Xiao