Skip to content

Commit

Permalink
clear fragmentManager backStack in pushTo()
Browse files Browse the repository at this point in the history
see: #47
  • Loading branch information
qdsfdhvh committed Aug 19, 2021
1 parent bcd8218 commit 559bc5b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 11 deletions.
20 changes: 10 additions & 10 deletions app/src/main/java/com/github/fragivity/example/HomeFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,16 @@ class HomeFragment : AbsBaseFragment(false) {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requireActivity().onBackPressedDispatcher
.addCallback(this) {
val current = System.currentTimeMillis()
if (current - lastClickTime > 2000) {
showToast("再按一次退出")
lastClickTime = current
} else {
finish()
}
}
// requireActivity().onBackPressedDispatcher
// .addCallback(this) {
// val current = System.currentTimeMillis()
// if (current - lastClickTime > 2000) {
// showToast("再按一次退出")
// lastClickTime = current
// } else {
// finish()
// }
// }
}

override fun onCreateView(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ class FragivityFragmentNavigator(
}

val destId = destination.id
val initialNavigation = backStack.isEmpty()
val initialNavigation = backStack.isEmpty() || isPushTo

val fragment = createFragment(destination, args)
ft.add(containerId, fragment, generateBackStackName(backStack.size, destId))
Expand Down Expand Up @@ -173,6 +173,11 @@ class FragivityFragmentNavigator(
ft.setReorderingAllowed(true)
ft.commit()

if (isPushTo) {
// pushTo情况下清空返回栈
fragmentManager.mBackStack?.clear()
}

if (isPopSelf) {
backStack.removeLast()
backStack.add(destId)
Expand Down

0 comments on commit 559bc5b

Please sign in to comment.