Closed FrankyLee-dev closed 3 years ago
这个业务在navigation中我也没想到有什么好的处理方式,如果你解决了的话,可以将答案发出来分享一下。。。
var entity: NavBackStackEntry? = null var first = true var count = 0 nav().backStack.map { if (it.destination.label?.equals("DetailFragment") == true) { if (first) { entity = it first = false } count++ if (count >= 3) { nav().backStack.remove(entity) } } }
nav().navigate(R.id.action_detailFragment_self)
我试了下跳转之前遍历下返回栈,栈里面详情页大于3个的话就移除第一个详情页,但是结果并不是我们想要的😂
... 0.0 这就有点难受了
比如一个商品详情页面下面会有推荐商品,点击推荐商品又会打开商品详情,一直重复操作是不是就打开了很多个商品详情页。怎么只保留最近打开的3个呢?