Я показываю пустой фрагмент, если у пользователя нет данных. В этом emptyFragment (в onViewCreated
) я проверяю условие и иногда хотел бы заменить этот пустой фрагмент на другой, поэтому я вызываю метод для соответствующей операции, который заменил фрагмент.onViewCreated - неправильное место для замены фрагмента?
Некоторые пользователи (в настоящее время только Samsung, 6.0.1, но я не знаю, если что-нибудь значит) опыт аварии на линии, где я executePendingTransactions
:
IllegalStateException:
Fatal Exception: java.lang.RuntimeException
Unable to resume activity
{....app.activities.MyActivity_}:
java.lang.IllegalStateException: FragmentManager is already executing transactions
Является ли это ошибка в 6.0.1 или onViewCreated
Неправильное место для этого?
EDIT
Будет ли это возможное решение?
if (addToBackStack) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, contentFragment, name).addToBackStack(name).commitAllowingStateLoss();
getSupportFragmentManager().executePendingTransactions();
} else {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, contentFragment, name).commitNow();
}
Я использую 'executePendingTransactions()' – swalkner