Sto convertendo alcuni dei miei progetti per utilizzare i frammenti. Come comunichiamo con una finestra di dialogo dei frammenti? Voglio creare una finestra di dialogo dei frammenti solo per ottenere del testo da parte dell'utente. Quando la finestra di dialogo viene chiusa, vorrei passare il testo inserito al frammento "padre" (quello che l'ha avviato). Esempio:Recupera i dati da una finestra di dialogo dei frammenti: le migliori pratiche?
public class MyFragment extends Fragment {
public void onBtnClick() {
// What's a good way to get data back from this dialog
// once it's dismissed?
DialogFragment dlgFrag = MyFragmentDialog.newInstance();
dlgFrag.show(getFragmentManager(), "dialog");
}
}
Grazie
Questo non risponde alla domanda dell'OP. Vorrebbe comunicare di nuovo al frammento 'MyFragment' e questo gli permetterebbe di tornare all'attività che ha avviato' MyFragment'. – eternalmatt
Ecco come comunicare tra un'attività e un frammento. Per comunicare tra Frammenti, usa 'setTargetFragment()' e 'getTargetFragment()'. –
Vorrei aggiungere a questa risposta: __DON NON PASSARE NULLA TRAMITE IL COSTRUTTORE__ è essenziale che il costruttore possa essere chiamato senza argomenti (predefinito costruito in termini C++), utilizzare 'onAttach', come questa risposta è –