/ / FragmentManager mit FragmentTabHost - Android

FragmentManager mit FragmentTabHost - Android

Ich habe eine Aktivität mit einem ViewPager mit vier Fragmenten. Eines dieser Fragmente muss zwei Registerkarten enthalten, also habe ich FragmentTabHost ausprobiert.

private FragmentTabHost fragmentTabHost;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_zbritjet, container, false);
fragmentTabHost = (FragmentTabHost) view.findViewById(android.R.id.tabhost);
fragmentTabHost.setup(view.getContext(), getFragmentManager(), android.R.id.tabcontent);

fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab_ofertat").setIndicator("Ofertat"), OfertatItems.class, null);
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab_bizneset").setIndicator("Bizneset"), BiznesetItems.class, null);
return view;
}

Das Problem ist, dass Android wirft

java.lang.IllegalStateException: FragmentManager führt bereits Transaktionen aus

Stapelverfolgung:

android.support.v4.app.FragmentManagerImpl.sureExecReady (FragmentManager.java:1946) android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1992) android.support.v4.app.FragmentManagerImpl.executePendingTransactions (FragmentManager.java:762) android.support.v4.app.FragmentTabHost.onAttachedToWindow (FragmentTabHost.java:289)

Antworten:

1 für die Antwort № 1

Versuchen getChildFragmentManager() Anstatt von getFragmentManager().

Aus den Dokumenten:

Geben Sie einen privaten FragmentManager zurück, um Fragmente in diesem Fragment zu platzieren und zu verwalten.