如何从第一个片段点击按钮切换到另一个片段ViewPager

时间:2018-06-14 09:22:15

标签: android android-fragments

我正在使用一个带有底部导航视图的简单应用程序,我在一个viewpager上的一个活动中创建四个片段,然后我使用 bottomNavigationView 在片段和它之间切换工作正常,

bottomNavigationView.setOnNavigationItemSelectedListener(
            new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                    switch (item.getItemId()) {
                        case R.id.navigation_home:
                            viewPager.setCurrentItem(0);
                            break;
                        case R.id.navigation_category:
                            viewPager.setCurrentItem(1);
                            break;
                        case R.id.navigation_cart:
                            viewPager.setCurrentItem(2);
                            break;
                        case R.id.navigation_profil:
                            viewPager.setCurrentItem(3);
                            break;
                    }
                    return false;
                }
            });

    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            if (prevMenuItem != null) {
                prevMenuItem.setChecked(false);
            }
            else
            {
                bottomNavigationView.getMenu().getItem(0).setChecked(false);
            }
            Log.d("page",""+position);
            bottomNavigationView.getMenu().getItem(position).setChecked(true);
            prevMenuItem = bottomNavigationView.getMenu().getItem(position);

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
    setupViewPager(viewPager);

我的问题是, 我在第一个片段中创建一个按钮,我想在按钮点击时切换到另一个片段,我该怎么做? 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

  

让你的viewpager公开静态

公共静态Viewpager viewPager;

  

然后点击按钮点击应用此代码: -

MainActivity.viewPager.setCurrentItem(1);
//(here MainActivity is your main activity where you are using viewpager)