Also habe ich diesen Code hier, ich erstelle ein neues Fragment und ersetze es durch ein anderes Fragment. Das funktioniert gut. Allerdings habe ich bemerkt, dass in der ersten Zeile der Konstruktor aufgerufen wird, aber die onAttach()
, onCreate()
usw. nicht sind. Wenn ich die zweite Zeile auskommentieren würde, wird es nicht funktionieren, da updateItem(URL)
ein WebView erfordert, das in der onCreate() - Funktion initiiert wird.Fragmente in einer Aktivität ersetzen, die onAttach, onCreate, onCreateView usw. nicht aufruft
DetailViewFragment detailFragment = new DetailViewFragment();
//detailFragment.updateItem(URL);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.displayList, detailFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
Würde jede Hilfe schätzen, die das mit der zweiten unkommentierten Zeile arbeiten lassen wird.
Ich glaube, dass onAttach, onCreate, usw. nicht aufgerufen werden, bis das Fragment für die Aktivität festgeschrieben wurde. Sie sollten also in der letzten Zeile dieses Codes aufgerufen werden. Android-Dokumente zum Lebenszyklus: http://developer.android.com/reference/android/app/Fragment.html#Lifecycle Hast du es mit ft.add (...) versucht? –