Android 如何从任务中删除侦听器?
我正在将侦听器添加到FirestoreAndroid 如何从任务中删除侦听器?,android,firebase,kotlin,google-cloud-firestore,listener,Android,Firebase,Kotlin,Google Cloud Firestore,Listener,我正在将侦听器添加到Firestoreget()请求返回的任务中: myQuery.get().addOnSuccessListener(Runnable::run) { /*does something*/ } 我知道我可以使用ddOnSuccessListener(activity,…)将侦听器范围限定到某个活动,该活动将在活动停止时删除侦听器。但是,为了保持代码干净,我需要自己删除侦听器(当包装请求的rxJava可观察对象被处理时,使用 emitter
get()
请求返回的任务中:
myQuery.get().addOnSuccessListener(Runnable::run)
{
/*does something*/
}
我知道我可以使用ddOnSuccessListener(activity,…)
将侦听器范围限定到某个活动,该活动将在活动停止时删除侦听器。但是,为了保持代码干净,我需要自己删除侦听器(当包装请求的rxJava可观察对象被处理时,使用
emitter.setCancellable{
/*remove the listener here*/
}
)
如何从任务中删除侦听器?不要使用
任务
侦听器,请尝试查询
本身
此方法返回一个
ListenerRegistration
对象,该对象具有一个remove
方法。可能重复@puni nope………要删除侦听器,这是应该如何完成的请查看此@puni,这是实时的updates@puni是的,firestore实时更新-看看标题lolI,我想我可以添加一个快照侦听器和在第一次更新后以及需要处理时,对ListenerRegistration调用remove。这看起来很肮脏,但我不明白为什么对于一个简单的get请求不能这样做。