Skip to content

Instantly share code, notes, and snippets.

@rahulshah456
Last active March 29, 2020 19:03
Show Gist options
  • Select an option

  • Save rahulshah456/26c2e3cf149fe8d74ab216234318d26c to your computer and use it in GitHub Desktop.

Select an option

Save rahulshah456/26c2e3cf149fe8d74ab216234318d26c to your computer and use it in GitHub Desktop.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
bottomNavigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
if (savedInstanceState == null) {
initFragments()
} else {
atHome = savedInstanceState.getBoolean("atHome")
}
}
private val mOnNavigationItemSelectedListener =
BottomNavigationView.OnNavigationItemSelectedListener { item ->
when (item.itemId) {
R.id.navigation_home -> {
supportFragmentManager.beginTransaction()
.hide(active).show(mFragment0).commit()
active = mFragment0
atHome = true
return@OnNavigationItemSelectedListener true
}
R.id.navigation_profile -> {
supportFragmentManager.beginTransaction()
.hide(active).show(mFragment1).commit()
active = mFragment1
atHome = false
return@OnNavigationItemSelectedListener true
}
R.id.navigation_relation -> {
supportFragmentManager.beginTransaction()
.hide(active).show(mFragment2).commit()
active = mFragment2
atHome = false
return@OnNavigationItemSelectedListener true
}
R.id.navigation_members -> {
supportFragmentManager.beginTransaction()
.hide(active).show(mFragment3).commit()
active = mFragment3
atHome = false
return@OnNavigationItemSelectedListener true
}
R.id.navigation_requests -> {
supportFragmentManager.beginTransaction()
.hide(active).show(mFragment4).commit()
active = mFragment4
atHome = false
return@OnNavigationItemSelectedListener true
}
}
false
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.main_menu, menu)
return true
}
/** This function will add all fragments to the fragment manager cache
* and show home fragment as current page
*/
private fun initFragments() {
//Fragment Transaction for Initial Startup
supportFragmentManager.beginTransaction()
.add(R.id.contentFrame, mFragment0, R.string.fragment_title_home).commit()
supportFragmentManager.beginTransaction()
.add(R.id.contentFrame, mFragment1, R.string.fragment_title_profile).hide(mFragment1).commit()
supportFragmentManager.beginTransaction()
.add(R.id.contentFrame, mFragment2, R.string.fragment_title_relation).hide(mFragment2).commit()
supportFragmentManager.beginTransaction()
.add(R.id.contentFrame, mFragment3, R.string.fragment_title_members).hide(mFragment3).commit()
supportFragmentManager.beginTransaction()
.add(R.id.contentFrame,mFragment4, R.string.fragment_title_requests).hide(mFragment4).commit()
atHome = true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment