2017-08-29 11 views
0

何を実行するために二回クリックする必要がありますが、私のコードです: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()を使用している

答えて

2

+0

がanyway.Iを試みたが、同じ結果を持っていたありがとうござい同期します。この

tabLayout.setupWithViewPager(viewPager);

を試してみてください。 –

+0

質問にあるコードを、現在持っているコードのコピー/ペーストと正確に更新できますか? – ianhanniballake

+0

年、私は 'bottomNavigationView.setOnNavigationItemReselectedListener'を 'bottomNavigationView.setOnNavigationItemReselectedListener'に変更します。 –

0

が、これは自動的に両方のViewPagerTabLayout

関連する問題