Программно открыть вкладку в BottomNavigationView

Есть TabLayout с вкладками. Программно открыть эти вкладки можно так:

SectionsPagerAdapter pagerAdapter =
        new SectionsPagerAdapter(getSupportFragmentManager());
pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(pagerAdapter);

//Связывание ViewPager с TabLayout
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(pager);
и далее:
pager.setCurrentItem(1);

На одной из вкладок реализована BottomNavigationView с тремя пунктами, по нажатии на которые загружаются фрагменты вот так:

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
        = new BottomNavigationView.OnNavigationItemSelectedListener() {

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()) {
            case R.id.bottomReports:
                MainActivity.currentScreen = "Reports";
                Utilities.ruleSearch(false);
                loadFragment(frmReports.newInstance());
                return true;
            ...
        }
        return false;
    }
};

Нужно программно перейти на вкладку bottomReports. Перейти на нее указанным выше способом невозможно, т.к. в pager вновь создаваемые вкладки не попадают. Этим способом удается перейти только на материнский фрагмент в котором расположен BottomNavigationView. Вопрос: как программно открыть вкладку bottomReports?


Ответы (1 шт):

Автор решения: Andrew

Для программного выбора нужно сделать так:

bottomNavigationView.setSelectedItemId(R.id.bottomReports);

но делать это нужно после инициализации менюшки. Вот есть подобный вопрос

→ Ссылка