Ich habe einige Probleme beim Übergeben von Daten aus einer Aktivität an Fragmente darin. Ich suchte herum, fand aber keine Antwort, die meiner Situation gut entsprach. Ich habe 2 Fragmentklassen mit den Namen CurrentFragment.java
und HistoryFragment.java
. Ich initialisiere sie als Tabs in einer Aktivität.Wie Daten von Aktivität an Fragment übergeben werden
Tab tab = actionBar.newTab()
.setText(R.string.tab_current)
.setTabListener(new TaskitTabListener<CurrentFragment>(
this, "current", CurrentFragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText(R.string.tab_history)
.setTabListener(new TaskitTabListener<HistoryFragment>(
this, "history", HistoryFragment.class));
actionBar.addTab(tab);
Mir wurde gesagt, setArguments
in der Aktivität und getArguments
in den Fragmenten zu verwenden. Aber wie bekomme ich in dieser Situation Fragmentobjekte in der Aktivität? Ich kann getFragmentManager().findFragmentById()
nicht verwenden, da die Fragmente programmgesteuert hinzugefügt werden.
Außerdem finde ich einige Beiträge, die sagen, dass ich getActivity()
in Fragmenten verwenden kann, um auf Daten im Aktivitätscontainer zuzugreifen, aber für mich wird es immer Null zurückgeben. Hat jemand ein funktionierendes Beispiel dafür?
Hat die 'getActivity()' 'kehrt null' in [onAttach] (http://developer.android.com/reference/android/support/v4/app/Fragment.html#onAttach%28android. App.Aktivität% 29) Methode? – svenkapudija
Versuchen Sie, in Ihrer TaskitTabListener.onTabSelected() -Argumente festzulegen. – faylon
@svenkapudija Ja, es ruturns null in 'onAttach'. – OckhamTheRazor