Senden von Daten an fragment mit FragmentTransaction
Ich bin in meinem fragment-Klasse aufrufen dieser:
@OnClick(R.id.blockedLinkLayout)
public void onBlockedClick(){
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content, new SettingsBlockedUsersFragment(), FRAGMENT_TAG);
ft.commit();
}
Ist und es nur ersetzen Sie meine aktuellen fragment ausgewählt.
Und meine Frage ist, wie kann ich senden einige Daten (z.B. String
Wert) von meinen Eltern-fragment, um mein Kind fragment mit FragmentTransaction?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Übergeben Sie diese in einem bundle-als fragment Argumente
in der Eltern-fragment :
in der Kinder-fragment :
FragmentTransaction
ist einfach, um den übergang Fragmente, ist es nicht "pass" nichts. Sie benötigen einBundle
.Dann im onCreate des Fragments, die Sie tun können,
Andere Möglichkeiten zum übergeben von Daten in einem Fragment besprochen Best practice für das instanziieren einer neuen Android-Fragment
FragmentTransaction
nichtFragmentTransition
können Sie eine factory-Methode in Ihrem fragment-Klasse(wie empfohlen in den docs)
dann rufen Sie YourFragment.newInstance("string, den Sie übergeben"); um eine Instanz von deinem fragment und verwenden Sie, die in Ihrer Transaktion.
Der Schlüssel ist hier in der Tat mit Hilfe der setArguments() Methode übergeben Daten.
Sie können dann diese Daten abrufen, die in Ihrem fragment der oncreate-Methode wie diese
In Ihrem
SettingsBlockedUsersFragment
- Klasse über eine statische Methode wie folgtIn Ihrem fragment Transaktion, die Sie übergeben können, die Argumente wie diese