使用版本号:1.2.7
问题描述:
一下方法使用System.currentTimeMillis()记录NavTime,如果手机时间改到未来再改回来,那么到达未来的时间之前都是无法跳转的,建议改用SystemClock.elapsedRealtime()
var lastNavTime = 0L
/**
- 防止短时间内多次快速跳转Fragment出现的bug
- @param resId 跳转的action Id
- @param bundle 传递的参数
- @param interval 多少毫秒内不可重复点击 默认0.5秒
*/
fun NavController.navigateAction(resId: Int, bundle: Bundle? = null, interval: Long = 500) {
val currentTime = System.currentTimeMillis()
if (currentTime >= lastNavTime + interval) {
lastNavTime = currentTime
try {
navigate(resId, bundle)
}catch (ignore:Exception){
//防止出现 当 fragment 中 action 的 duration设置为 0 时,连续点击两个不同的跳转会导致如下崩溃 #issue53
}
}
}
使用版本号:1.2.7
问题描述:
一下方法使用System.currentTimeMillis()记录NavTime,如果手机时间改到未来再改回来,那么到达未来的时间之前都是无法跳转的,建议改用SystemClock.elapsedRealtime()
var lastNavTime = 0L
/**
*/
fun NavController.navigateAction(resId: Int, bundle: Bundle? = null, interval: Long = 500) {
val currentTime = System.currentTimeMillis()
if (currentTime >= lastNavTime + interval) {
lastNavTime = currentTime
try {
navigate(resId, bundle)
}catch (ignore:Exception){
//防止出现 当 fragment 中 action 的 duration设置为 0 时,连续点击两个不同的跳转会导致如下崩溃 #issue53
}
}
}