【发布时间】:2019-06-28 13:47:36
【问题描述】:
我有这样的tablayout。当这个片段出现时,我想根据onCreateView中的某些条件以编程方式设置选项卡布局位置(即下划线)
我正在使用下面的代码,以编程方式将下划线移动到“两个”选项卡
lateinit var tabLayout : TabLayout
override fun onCreateView(): View? {
tabLayout.getTabAt(1)?.select()
return View
}
但不幸的是,tabLayout.getTabAt(1)?.select() 代码会自动触发我的onTabSelectedListener,如下面的代码
tabLayout.addOnTabSelectedListener(object: TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab?) {
// this part will automatically called
}
override fun onTabReselected(tab: TabLayout.Tab?) {
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
}
})
那么如何在不触发 onTabSelectedListener 的情况下设置 tablayout 位置呢?
Java 没问题
【问题讨论】:
-
你在
select()之前还是之后设置了tab监听? -
在 select() 之前。
标签: android kotlin android-tablayout