FragmentManager уже выполняет транзакции при возврате к просмотру - PullRequest
1 голос
/ 16 апреля 2019

У меня есть представление, в котором есть табуляция, которая активирует панель просмотра, при просмотре страницы она работает нормально, но если я нажимаю на элемент в этом представлении и затем возвращаюсь к предыдущему экрану, я получаю:

Java.Lang.IllegalStateException: FragmentManager уже выполняет транзакции

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    CurrentActivity = Activity;

    var view = inflater.Inflate(Resource.Layout.fragment_directory, null);

    _tabLayout = view.FindViewById<TabLayout>(Resource.Id.directory_tabs);
    _viewPager = view.FindViewById<ViewPager>(Resource.Id.directory_pager);

    SetTabLayout();
    SetViewPager();

    return view;
}

private void SetTabLayout()
{
    var userTab = _tabLayout.NewTab();
    userTab.SetText("Users");

    var orgUnitsTab = _tabLayout.NewTab();
    orgUnitsTab.SetText("Organizations");

    _tabLayout.AddTab(userTab);
    _tabLayout.AddTab(orgUnitsTab);
    _tabLayout.TabGravity = TabLayout.GravityFill;
}

private void SetViewPager()
{
    var pagerAdapter = new DirectoryPagerAdapter(FragmentManager, _tabLayout.TabCount);

    _viewPager.Adapter = pagerAdapter;
    _viewPager.AddOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(_tabLayout));
}

не уверен, имеет ли это значение, но когда я покидаю это представление, я перехожу от фрагмента к действию.

1 Ответ

1 голос
/ 17 апреля 2019

Если вы сталкиваетесь с этим вопросом, я нашел SO Ответ , который ответил на него хорошо.

выделение, я должен был использовать ChildFragmentManager вместо FragmentManager.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...