带有自定义图标的TabLayout在启动时不会更改图标

时间:2015-11-07 16:22:52

标签: java android android-tabs

我的布局中有TabLayout和ViewPager,非常标准。 我正在为我的标签使用自定义视图。 在Activity onCreate方法中,我调用:

**

./manage.py makemigrations 
./manage.py migrate auth
./manage.py migrate**

以下是mu drawables的样子:

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
setupViewPager(binding.viewpager);
binding.tabs.setupWithViewPager(binding.viewpager);
tabLayout.getTabAt(0).setCustomView(R.layout.tab).setText(R.string.tab_home)
                .setIcon(R.drawable.tab_home_icon).setTag(HOME_TAG); 
tabLayout.getTabAt(1).setCustomView(R.layout.tab).setText(R.string.tab_games)
                .setIcon(R.drawable.tab_games_icon).setTag(GAMES_TAG);

如果选中标签,我想显示橙色图标,否则显示灰色。 除了一开始,一切正常。如果我从一个标签导航到标签一次 - 一切都很好:

standard C99 math library provided in Solaris 10 and later releases

enter image description here

但是当活动刚刚开始时 - 主页选项卡未被选中":

enter image description here

我已经尝试过实际选择标签 - 没有帮助。

2 个答案:

答案 0 :(得分:0)

以下是答案:

binding.tabs.getTabAt(0).getCustomView().setSelected(true);

甚至

int selectedTabPosition = binding.tabs.getSelectedTabPosition();
binding.tabs.getTabAt(selectedTabPosition).getCustomView().setSelected(true);

这不是故意的,我只是在Android源代码中挖掘一下。

答案 1 :(得分:0)

尝试:

最后的Viewpage.setcurrentItem(0)