Я изменяю вкладки в приложении, хочу удалить все представления из текущего Framelayout, а затем добавить представление, к которому я перемещаюсь.
В API 21, API 24 (как я тестировал) все работает как положено, но в последней версии API 28 после удаления внутренних представлений новый фрагмент не добавляется.
Я добавил точку останова, чтобы увидеть, достигает ли код транзакции, в которую я добавляю фрагмент, и это происходит.
Здесь я удаляю все виды:
var fragment = FragmentManager.FindFragmentByTag(tag);
if (fragment != null)
{
RunOnUiThread(() =>
{
((FrameLayout)FindViewById(Resource.Id.actualtabcontent)).RemoveAllViewsInLayout();
});
Presenter?.ChangeTab((MvxFragment)fragment);
}
Здесь я добавляю новый
var transaction = _fragmentManager.BeginTransaction();
if (fragment.IsAdded)
{
transaction.Remove(fragment);
}
transaction
.Add(Resource.Id.actualtabcontent, fragment)
.AddToBackStack(fragment.GetType().Name)
.Commit();
Между тем ни один код не был нажат.
Опять же, приложение хорошо работает на более низкой версии Android.
На Android API 28 он не показывает новый добавленный фрагмент.