我想要自定义def test_config_has_foo_set_to_bar(json_config):
assert json_config['foo'] == 'bar'
,如下所示:
我已经实现了TabLayout
,并且在未选中该选项卡时将文本设置为OnTabSelectedListener
。当我运行“取消选中”标签上的文字时,该标签会被删除,但标签仍保持活动状态,如下图所示:
代码:
null
XML
tabs.addOnTabSelectedListener(object: TabLayout.OnTabSelectedListener{
override fun onTabReselected(p0: TabLayout.Tab?) {
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
// If I remove this the problem is resolved.
tab?.text = null
}
override fun onTabSelected(tab: TabLayout.Tab?) {
tab?.text = "Selected"
}
})
我已尽力找到解决办法,但无济于事。
答案 0 :(得分:0)
我找到了解决问题的方法。我在updateTabs()
中致电onTabSelected()
。这是方法:
private fun updateTabs(){
for (i in 0 until tabs.tabCount){
tabs.getTabAt(i)?.let {
it.icon = ActivityCompat.getDrawable(this,tabIcons[i])
if( it.isSelected){
it.text = tabTitles[i]
}else{
it.text = null
}
}
}
}
答案 1 :(得分:0)
这已在内部修复,很快就会推出新版本的材料设计库。
问题的要点是在内部,在调用onTabUnselected()
之前不会更新选定的选项卡。然后,通过为该方法中的选项卡设置文本,它也会错误地更新旧的选定选项卡。