我使用视图绑定。当我将其与viewpager2一起使用时,看不到有关viewpager2的任何信息。当不使用viewbinding时,我可以很好地看到viewpager2。有什么办法可以解决?有效的代码效果很好,但是无效的代码不会显示任何错误。
正在工作
class UserActivity3 :AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_user3)
renderViewPager()
renderTabLayer()
}
private fun renderTabLayer() {
TabLayoutMediator(tabs, viewpager2) { tab, position ->
tab.text = getString(ResourceStore.tabList[position])
}.attach()
}
private fun renderViewPager() {
viewpager2.adapter = object : FragmentStateAdapter(this) {
override fun createFragment(position: Int): Fragment {
return ResourceStore.pagerFragments[position]
}
override fun getItemCount(): Int {
return ResourceStore.tabList.size
}
}
}
}
不工作
class UserActivity3 :AppCompatActivity(){
private lateinit var binding: ActivityUser3Binding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityUser3Binding.inflate(layoutInflater);
renderTabLayer()
}
private fun renderTabLayer() {
TabLayoutMediator(binding.tabs, binding.viewpager2) { tab, position ->
tab.text = getString(ResourceStore.tabList[position])
}.attach()
}
private fun renderViewPager() {
binding.viewpager2.adapter = object : FragmentStateAdapter(this) {
override fun createFragment(position: Int): Fragment {
return ResourceStore.pagerFragments[position]
}
override fun getItemCount(): Int {
return ResourceStore.tabList.size
}
}
}
}
但是,您没有调用renderviewpager()
方法。它不是绑定的问题。