Android 在Tablayout Tablayout.AddOnAbsSelectedListener中(新的Tablayout.OnAbsSelectedListener()方法无效
我在activity中有三个选项卡,其中有fragment,但方法AddOnAbsSelectedListener不工作,我的片段工作正常,并且我在调试时也有viewPager,它不在方法中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(
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);}}});调试未进入方法抱歉,我已更改了答案,键入错误,您能再试一次吗?抱歉,错误。