5

Contesto: Ho un app utilizzando Activities e Fragments. Metto in pausa per accedere a un altro come Google Translate. Da GTranslate, utilizzo la procedura Intent per inviare un messaggio di testo alla mia app con intent-filterACTION_SEND. Anche se la prima app era in background, il suo attuale activity viene ricreato.Frammento Non ripreso con la sua attività dopo aver usato l'intento condivisione

Il problema è che il fragment associate activity menzionato non viene ricreato troppo e non più fastidioso ripresa (il metodo del frammento onResume viene mai chiamato).

Domanda: Perché nell'utilizzo intent attraverso applicazioni, fragments non seguono il ciclo di vita della loro attività genitori e non sono almeno riprende? C'è un modo per aggirare questo problema?

Oppure ho sbagliato completamente?

risposta

0

Utilizzare un'attività di frammento anziché Attività.

Da FragmentActiviy:

spedizione onResume() per frammenti. Si noti che per una migliore interoperabilità con versioni precedenti della piattaforma, al punto di questa chiamata non vengono ripristinati i frammenti allegati all'attività. Ciò significa che in in alcuni casi lo stato precedente può ancora essere salvato, non consentendo le transazioni di frammento che modificano lo stato. Per interagire correttamente con con i frammenti nel loro stato corretto, dovresti invece eseguire l'override di {@link # onResumeFragments().

Quindi, il posto giusto per manipolare i frammenti nel vostro FragmentActivity è prevalente il metodo onResumeFragments in questo modo:

protected void onResumeFragments(){  
super.onResumeFragments(); 

     // YOUR STUFF IS HERE 
} 
+0

Anche nel manipolare frammenti in 'onResumeFragments', non funziona. – damson

+0

Alcuni frammenti di codice di ciò che stai facendo sarebbero utili. Dopo aver riletto il tuo post, sembra che tu stia aprendo un'altra istanza della tua app con l'intenzione di condividere Google Translate, vice utilizzando qualcosa come onActivityResult(), bundle, ecc. Per ricevere i dati da GTranslate, quindi l'app originale non lo fa t ricevere i dati e anche il frammento originale viene fermato. – Rick

Problemi correlati