Wypróbowałem rozwiązanie, które David zasugerował, że działa, ale nie we wszystkich scenariuszach:
1. dla pierwszego fragmentu, który został dodany do stosu, ma temat działania, a nie ten, który zdefiniowano w onCrateView, ale na drugim fragmencie, który i dodaj do stosu popraw, czy zostały nałożone na fragment.
2. Na drugim fragmencie, który wyświetlił się poprawnie, wykonałem następujące czynności: wymusiłem zamknięcie aplikacji poprzez wyczyszczenie pamięci, ponowne otwarcie aplikacji i po odtworzeniu działania z fragmentem Fragment zmienił ich błędnie Activity, a nie to samo, które zostało ustawione w onCrateView fragmentu.
Aby rozwiązać ten problem, dokonałem niewielkiej zmiany i zastąpiłem argument kontenera z inflater.inflate wartością null.
Nie wiem, w jaki sposób inflater wykorzystuje w niektórych scenariuszach kontekst z widoku kontenera.
Uwaga - używam android.support.v4.app.Fragment & android.support.v7.app.AppCompatActivity.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// create ContextThemeWrapper from the original Activity Context with the custom theme
final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.yourCustomTheme);
// clone the inflater using the ContextThemeWrapper
LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper);
// inflate the layout using the cloned inflater, not default inflater
return localInflater.inflate(R.layout.yourLayout, null, false);
}