Skip to content

Instantly share code, notes, and snippets.

@youngam
Created September 27, 2017 16:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save youngam/07aedabf7a0a2af6144b3c320c571ffd to your computer and use it in GitHub Desktop.
Save youngam/07aedabf7a0a2af6144b3c320c571ffd to your computer and use it in GitHub Desktop.
class NavigationDelegate(private val fragmentManager: FragmentManager,
private val containerId: Int) {
init {
fragmentManager.addOnBackStackChangedListener {
val currentFragment = fragmentManager.findFragmentById(containerId)
currentFragment.userVisibleHint = true
}
}
public fun navigate(from: Fragment? = null, to: Fragment, addToBackStack: Boolean = true) {
if(from != null) from.userVisibleHint = false
val transaction = fragmentManager.beginTransaction()
.add(containerId, to)
if(addToBackStack) transaction.addToBackStack(null)
transaction.commit()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment