Android 在Tablayout Tablayout.AddOnAbsSelectedListener中(新的Tablayout.OnAbsSelectedListener()方法无效

Android 在Tablayout Tablayout.AddOnAbsSelectedListener中(新的Tablayout.OnAbsSelectedListener()方法无效,android,android-tablayout,Android,Android Tablayout,我在activity中有三个选项卡,其中有fragment,但方法AddOnAbsSelectedListener不工作,我的片段工作正常,并且我在调试时也有viewPager,它不在方法中 viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); Intent intent = getIntent(); pos = intent.getIntExtra(

我在activity中有三个选项卡,其中有fragment,但方法AddOnAbsSelectedListener不工作,我的片段工作正常,并且我在调试时也有viewPager,它不在方法中

viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

    Intent intent = getIntent();
    pos = intent.getIntExtra("position",0);
    tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(tab.getPosition());

            if (tab.getPosition() == 1) {
              tabLayout.getTabAt(pos).select();
                tabLayout.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        R.color.white));
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().setStatusBarColor(ContextCompat.getColor(Shop.this,
                            R.color.white));
                }
            } else if (tab.getPosition() == 2) {
               /* toolbar.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        android.R.color.white));*/
                tabLayout.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        android.R.color.white));
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().setStatusBarColor(ContextCompat.getColor(Shop.this,
                            android.R.color.white));
                }
            } else {
               /* toolbar.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        R.color.white));*/
                tabLayout.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        R.color.white));
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().setStatusBarColor(ContextCompat.getColor(Shop.this,
                            R.color.white));
                }
            }
        }
        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
        }
        @Override
        public void onTabReselected(TabLayout.Tab tab) {
        }
    });
你能这样试试吗

tabLayout.setupWithViewPager(viewPager);
tabLayout.setOnTabSelectedListener(
 new TabLayout.ViewPagerOnTabSelectedListener(viewPager) {
  @Override
  public void onTabSelected(TabLayout.Tab tab) {
      //for selected tab, write your code here...
  }
});

要获得详细而清晰的解释,请访问此链接

newTabLayout这是什么对不起,请使用您的Tablayout参考'Tablayout',而不是'newTabLayout',我将更改answertabLayout.setOnTabSelectedListener(new Tablayout.ViewPagerOnTabSelectedListener)(viewPager){@Override public void onTabSelected(TabLayout.Tab){super.onTabSelected(Tab);}}});调试未进入方法抱歉,我已更改了答案,键入错误,您能再试一次吗?抱歉,错误。