2017-04-18 79 views

回答

0

如果您需要在任何時候從任何任務中刪除所有偵聽器的方法,則必須記住先前添加的所有偵聽器,然後手動刪除所有偵聽器。

如果您使用的是Android應用程序,並且您添加了Activity-scoped listeners,則當主機活動停止時(通過其onStop()生命週期方法),它們將自動刪除。請注意,您必須將活動作爲參數傳遞給addOnCompleteListener()

+0

謝謝您的重播。我希望有一種簡單的方法可以取消一個沒有重寫CancellableTask的Task,因爲重寫了CancellableTask,我將無法使用Tasks.call()。 – Wenhui

1

A Task類沒有函數可以調用取消。你應該使用它的子類CancellableTask相反,爲了能夠使用cancel()

公共抽象布爾取消()

嘗試取消任務。取消的任務不能在稍後恢復。已取消的任務會回呼訂閱addOnFailureListener(OnFailureListener)的偵聽器,並指示任務已取消。

返回

  • 如果此任務已成功取消或者是被取消的過程。如果任務已完成或處於無法取消的狀態,則返回false。

如果你仍然堅持使用Task相反,我覺得這是最好的指的是使用AsyncTask就像this one類似的帖子。