gpt4 book ai didi

android - TabLayout 选项卡文本在 viewPager.setCurrentItem() 之后未突出显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:57:56 27 4
gpt4 key购买 nike

我的 ViewPager 附加的 TabLayout 有问题。重现步骤:

  1. 从第一个选项卡开始。
  2. 选择第二个标签。
  3. 按下后退按钮——我的代码看到用户在第二个选项卡上,并调用 viewPager.setCurrentItem(0) 将用户返回到第一个选项卡。
  4. 但是,如图所示,第二个选项卡文本仍处于选中状态,而第一个选项卡文本显示为灰色。 (尽管粉红色条会像它应该的那样返回到第一个选项卡。)

enter image description here

我错过了什么?

tabLayout = (TabLayout) rootView.findViewById(R.id.tab_layout_main);
tabLayout.addTab(tabLayout.newTab().setText(getActivity().getString(R.string.main_tab_grades)));
tabLayout.addTab(tabLayout.newTab().setText(getActivity().getString(R.string.main_tab_schedule)));

viewPager = (NonSwipeableViewPager) rootView.findViewById(R.id.pager_main);
pagerAdapter = new PagerAdapterMain(getActivity(), getChildFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(pagerAdapter);

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

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}


@Override
public void onTabUnselected(TabLayout.Tab tab) {
return;
}

@Override
public void onTabReselected(TabLayout.Tab tab) {
return;
}
});

最佳答案

可能是Design Library的bug。正如问题所说: https://code.google.com/p/android/issues/detail?id=192834

代码对我有用:

// mViewPager.setCurrentItem(position);

mTabLayout.getTabAt(position).select();

关于android - TabLayout 选项卡文本在 viewPager.setCurrentItem() 之后未突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420835/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com