Ich habe 2 Fragmente: (1) Frag1 (2) Frag2.
Frag1
bundl = new Bundle();
bundl.putStringArrayList("elist", eList);
Frag2 dv = new Frag2();
dv.setArguments(bundl);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.the_fragg,dv);
ft.show(getFragmentManager().findFragmentById(R.id.the_fragg));
ft.addToBackStack(null);
ft.commit();
Wie bekomme ich diese Daten in Frag2?
android
android-fragments
Android_programmer_camera
quelle
quelle
bundle.getStringArrayList("elist");
return super.onCreateView(inflater, container, savedInstanceState);
getArguments()
inonCreateView
, nicht inonCreate
?ZB: Daten hinzufügen: -
ZB: Daten abrufen: -
quelle
in Frag1:
in Frag2:
So einfach ist das.
quelle
Das Fragment richtig instanziieren!
Wie es geht?
Fragmentcode
Weiterlesen
1) Warum wird Myfragment.getInstance (String msg) gegenüber neuem MyFragment (String msg) bevorzugt?
2) Beispielcode für Fragmente
quelle
Für diejenigen wie mich, die andere Objekte als Grundelemente senden möchten, da Sie in Ihrem Fragment keinen parametrisierten Konstruktor erstellen können, fügen Sie einfach einen Setter-Accessor in Ihr Fragment ein. Dies funktioniert immer für mich.
quelle
setArguments()
. Nicht serialisierbare Parameter können mit dem Setter festgelegt werden, sollten jedoch beim erneuten Erstellen von Aktivitäten / Fragmenten erneut aufgerufen werden.