Я попробовал решение, которое, по мнению Дэвида, работает, но не во всех сценариях:
1. для первого фрагмента, добавленного в стек, есть тема действия, а не та, которая определена в onCrateView, а для второго фрагмента, который я добавить в стек правильно их было применено к фрагменту.
2. Во втором фрагменте, который они отображали правильно, я сделал следующее: я принудительно закрыл приложение, очистив память, повторно открыв приложение, и когда действие было воссоздано с фрагментом, фрагмент изменил их неправильно. Activity, а не то же самое, что было установлено в onCrateView фрагмента.
Чтобы решить эту проблему, я сделал небольшое изменение и заменил аргумент контейнера из inflater.inflate нулевым.
Я не знаю, как надувной модуль использует в некоторых сценариях контекст из представления контейнера.
Обратите внимание: я использую 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);
}