我的Android应用程序运行得很好。带有TabLayout的片段从第一个项目开始,并按我的需要工作。但现在我需要从第二个项目开始使用TabLayout进行Fragment。然后我遇到了麻烦。我找到了一种打开第二个选项卡的方法(不确定是否正确)。选项卡将第二个项目的标题显示为选中状态。但内容没有变。1.如何以编程方式切换选项卡?1.怎么和物太对调了?我是Android开发的新手。我找不到解决办法。救命啊!
olhwl3o21#
您可以通过select()方法选择页签:
select()
int index = 1;TabLayout.Tab tab = binding.tabLayout.getTabAt(index);if (tab != null) tab.select();
int index = 1;
TabLayout.Tab tab = binding.tabLayout.getTabAt(index);
if (tab != null) tab.select();
字符串当一个选项卡被选中时,你可以做你需要做的事情:
binding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { int selectedTab = binding.tabLayout.getSelectedTabPosition(); // do whatever you want } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { }});
binding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int selectedTab = binding.tabLayout.getSelectedTabPosition();
// do whatever you want
}
public void onTabUnselected(TabLayout.Tab tab) {
public void onTabReselected(TabLayout.Tab tab) {
});
型
pgky5nke2#
如果你用viewPager实现了tabLayout,你可以使用setCurrentItem切换标签(假设你想切换到secondTab):
binding.viewPager.setCurrentItem(1, true)
字符串如果你不使用viewpager,你可以用途:
binding.tabLayout.getTabAt(1)?.select()
2条答案
按热度按时间olhwl3o21#
您可以通过
select()
方法选择页签:字符串
当一个选项卡被选中时,你可以做你需要做的事情:
型
pgky5nke2#
如果你用viewPager实现了tabLayout,你可以使用setCurrentItem切换标签(假设你想切换到secondTab):
字符串
如果你不使用viewpager,你可以用途:
型