Synchronize a ViewPager with a BottomNavigationView on Android

2

I have a ViewPager and a BottomNavigationView that when selecting an element it is located to the corresponding page within the ViewPager , but if I change the page the item BottomNavigationView does not change.

The page change of ViewPager I detect using OnPâgeChangeListener and I get the position of the page.

BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
mViewPager = (ViewPager) findViewById(R.id.view_pager);
DemoFragmentAdapter adapterViewPager = new DemoFragmentAdapter(getSupportFragmentManager());
mViewPager.setAdapter(adapterViewPager);

mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    public void onPageScrollStateChanged(int state) {}
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

    public void onPageSelected(int position) {
        //aqui es donde se debe cambiar el item del navigation correspondiente a la posición que este el viewpager
    }
});

How do you synchronize the BottomNavigationView with a ViewPage ?

    
asked by Webserveis 27.04.2017 в 21:54
source

1 answer

3

Within your onPageSelected method you could see the way to find the specific item of your navigationView using the position that returns you. I leave you an example.

public void onPageSelected(int position) {
    navigation.getMenu().getItem(position).setChecked(true);
}
    
answered by 27.04.2017 / 23:22
source