scene自身添加一个 NavigationListener,在pop时没有收到回调
Ccixyj opened this issue · 4 comments
Ccixyj commented
有一个使用场景需要在scene内部监听栈进出。push时可以,pop时收不到。
requireNavigationScene().addNavigationListener(this , NavigationListener { from, to, isPush ->
//pop 时没有回调
} )
qii commented
你这个被pop的就是你在监听的Scene?
qii commented
addNavigationListener 的时候这个 this 就是当前的 Scene 的 lifecycleowner,pop 这个 Scene 的时候,自然因为 lifecycle 销毁,于是回调被移除了,于是也就收不到 NavigationListener 的回调。或者你可以考虑把 this 改为 requireNavigationScene(),然后在回调里面判断 from == 你的 Scene,并且 isPush == false,然后再把自己 removeNavigationListener 掉
Ccixyj commented
交给navigation scene也是可以的