何を実行するために二回クリックする必要がありますが、私のコードです:BottomNavigationViewリンク、私はbottomNavigationViewにリスナーを設定するとき、私は私がここで
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)
[email protected] true
}
R.id.item_finance -> {
viewpager.setCurrentItem(1, true)
[email protected] true
}
R.id.item_event -> {
viewpager.setCurrentItem(2, true)
[email protected] true
}
R.id.item_mine -> {
viewpager.setCurrentItem(3, true)
[email protected] true
}
}
true
}
viewpager.adapter = PagerAdapter(supportFragmentManager)
}
}
私は二度同じタブをクリックした場合のみviewpager.setCurrentItem()が実行されます。しかし、私は同じコードを実行するためにkotlinの代わりにJavaを使用すると、私は私が望むものを得ることができます。誰かが私を助けることができますか?あなたはタブがが、タブが最初に選択されたときに呼び出されていない適切なsetOnNavigationItemSelectedListener()
方法を再選択する場合にのみトリガされsetOnNavigationItemReselectedListener()
を使用している
がanyway.Iを試みたが、同じ結果を持っていたありがとうござい同期します。この
tabLayout.setupWithViewPager(viewPager);
を試してみてください。 –
質問にあるコードを、現在持っているコードのコピー/ペーストと正確に更新できますか? – ianhanniballake
年、私は 'bottomNavigationView.setOnNavigationItemReselectedListener'を 'bottomNavigationView.setOnNavigationItemReselectedListener'に変更します。 –