gpt4 book ai didi

android - BottomNavigationView 链接到 ViewPager,当我将 Listener 设置为 bottomNavigationView 时,我必须单击两次才能执行我所做的

转载 作者:行者123 更新时间:2023-11-30 00:23:00 29 4
gpt4 key购买 nike

这是我的代码:

  class MainActivity : BaseActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

BottomNavigationViewHelper1.disableShiftMode(bottomNavigationView)

bottomNavigationView.setOnNavigationItemSelectedListener {
item: MenuItem ->
when (item.itemId) {
R.id.item_home -> {
Log.e("Vincent", "++++++++++")
viewpager.setCurrentItem(0, true)
return@setOnNavigationItemSelectedListener true
}
R.id.item_finance -> {
viewpager.setCurrentItem(1, true)
return@setOnNavigationItemSelectedListener true
}
R.id.item_event -> {
viewpager.setCurrentItem(2, true)
return@setOnNavigationItemSelectedListener true
}
R.id.item_mine -> {
viewpager.setCurrentItem(3, true)
return@setOnNavigationItemSelectedListener true
}
}
true
}
viewpager.adapter = PagerAdapter(supportFragmentManager)
}

}

只有当我点击同一个选项卡两次时,viewpager.setCurrentItem() 才会执行。但是当我使用 Java 而不是 kotlin 来执行相同的代码时,我可以得到我想要的。有人可以帮助我吗?

最佳答案

您正在使用 setOnNavigationItemReselectedListener()这仅在标签被重新选择时触发,而不是正确的setOnNavigationItemSelectedListener()首次选择选项卡时调用的方法。

关于android - BottomNavigationView 链接到 ViewPager,当我将 Listener 设置为 bottomNavigationView 时,我必须单击两次才能执行我所做的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45929479/

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