Voglio passare da un frammento a un altro con un clic di un pulsante e voglio anche passare i dati. Cosa dovrei fare per quello?Spostarsi da un frammento all'altro con un clic di un pulsante
risposta
Ecco un esempio per aiutarvi:
your_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Fragment frag = new YourFragment(Data yourdata);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_container, frag);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
}
});
xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout android:name="fragments.YourInitialFragment"
android:id="@+id/fragment_container"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dip" />
</LinearLayout>
Grazie mille amico, questo codice risolve il mio grosso problema –
Avere una lettura della Android documentation on this subject:
Tutto Frammento-to-Frammento di comunicazione è fatta attraverso l'attività associata. Due frammenti non dovrebbero mai comunicare direttamente.
Infatti se si aggiunge un frammento utilizzando i modelli Studio Android, si aggiungerà il codice template che implementa il modello descritto in questo articolo tramite un'interfaccia.
Per risolvere il tuo scenario specifico, l'attività sarebbe implementare un'interfaccia simile a questo:
public interface OnFragmentInteractionListener
{
void onButtonClick(Data data);
}
Poi per l'attuazione di tale metodo, l'attività potrebbe eseguire lo spostamento utilizzando il FragmentManager come indicato in altra risposta. L'articolo fornisce una spiegazione molto più dettagliata di questo processo.
- 1. Come aprire un frammento sul pulsante clic da un frammento in Android
- 2. Pulsante di upload con un clic
- 3. Sostituire ViewPager con frammento - Quindi spostarsi indietro
- 4. Avvia un frammento di finestra di dialogo sul pulsante clic da un adattatore di base personalizzato> getView [IMG INCLUSO]
- 5. Come inviare dati da un frammento ad un altro frammento?
- 6. Come chiudere una pagina Web con un clic del pulsante, un collegamento ipertestuale o un pulsante di collegamento fare clic?
- 7. Disattivare il postback con un clic su un pulsante
- 8. Avvia un'attività da un frammento
- 9. Come passare il pacchetto da un frammento a un frammento
- 10. Avviare un frammento tramite Intent all'interno di un frammento
- 11. Passaggio da frammento mappa a un altro Frammento e ritorno
- 12. Attivare un clic del pulsante all'interno di un iframe
- 13. Chiamare un metodo frammento da un adattatore
- 14. Aggiunta di un pacchetto a un frammento da un FragmentActivity
- 15. Fare clic su un determinato pulsante di invio con JQuery
- 16. aggiungendo dinamicamente caselle di testo a un modulo con un clic di un pulsante
- 17. Recupera contesto da un frammento
- 18. Flask: scarica un file csv facendo clic su un pulsante
- 19. Android sostituisce il frammento corrente con un altro frammento
- 20. Fare clic su un pulsante href con selenio e pitone?
- 21. Gioca un segnale acustico sul pulsante clic
- 22. Frammento di chiamata da frammento
- 23. Come sostituire un ViewPager con un frammento
- 24. Javascript: facendo clic automaticamente su un pulsante?
- 25. Fade out finestra pop-up con un clic di un pulsante?
- 26. Riproduzione di un file audio da Internet quando si fa clic su un pulsante
- 27. Android: come impostare il contenuto di un testo Modifica da un clic del pulsante?
- 28. Fare clic su un pulsante con Ruby Mechanize
- 29. Jquery e attivare un clic su un pulsante nascosto
- 30. Come prevenire un rapido doppio clic su un pulsante
Vorrei usare FragmentManager per aggiungere (o sostituire) questo nuovo frammento nel layout come descritto nella documentazione. Che cosa hai provato? – Sam