1. ホーム

[解決済み] [Solved] Handlerからすべてのコールバックを削除するには?

2022-04-02 23:54:09

質問

私は ハンドラ サブアクティビティから呼び出され、メインの アクティビティ . このハンドラは、サブクラスが次のように使用します。 postDelay Runnableがいくつかあって、管理できない。さて onStop イベントで、アクティビティを終了する前にそれらを削除する必要があります(どういうわけか、私は finish() しかし、それはまだ何度も何度も呼び出されています。) ハンドラからすべてのコールバックを削除する方法はありますか?

どのように解決するのか?

私の経験では、この呼び方はとても効果的でした。

handler.removeCallbacksAndMessages(null);

removeCallbacksAndMessagesのドキュメントには、次のように書かれています。

objがtokenであるコールバックおよび送信済みメッセージの保留中の投稿を削除します。 トークンが null の場合、すべてのコールバックとメッセージは削除されます。