私はHandler handler = new Handler()
を持っていて、それに対してhandler.postDelayed(xxx, xxx)
の遅延タスクを実行すると、それはpostDelayed()
が呼ばれたかどうかをチェックすることが可能ですか?ハンドラにアクティブなタスクがあるかどうかを確認するには?
29
A
答えて
14
可能性がチェックするということですpostDelayed()が呼び出されたりされなかったのか?
1つのクイックフィックスでは、メソッド内で一部のboolean
変数をtrueに割り当ててから、チェックを実行するだけです。
17
これを達成するための直接的なAPIはありませんが、sendEmptyMessage
関数を使用するとこれを回避できます。これが役立つことを願っています。
handler.sendEmptyMessage(some_integer);//Do this when you add the call back.
if(handler.hasMessages(some_integer))
handler.removeMessages(some_integer);//Do this after removing the call back.
9
Handlerは、 "what"フィールド== 0のメッセージを取得するので、理論上はhasMessages(0)
と呼ぶことができますが、保留中のRunnableを与えているかどうかを確認することはできません。例えば、r0とr1 r0が保留中かどうか。
関連する問題
- 1. デスクトップクライアントでアクティブなSkypeコールがあるかどうかを確認する方法
- 2. 現在のアプリケーションがアクティブになっているかどうかを確認する(フォーカスがある)
- 3. 3gがアクティブであるかどうかを確認する方法
- 4. タブがアクティブかどうかを確認するFirefox API
- 5. TinyMCEがWordPressでアクティブかどうかを確認する方法
- 6. exeがデスクトップにあるかどうかを確認する#
- 7. セットに競合があるかどうかを確認する
- 8. 親divにスクロールバーがあるかどうかを確認する
- 9. ポイントがバウンディングボックス内にあるかどうかを確認する
- 10. ポイントがMatplotlibサブプロットにあるかどうかを確認する
- 11. Android APIがコールがアクティブであるかオンホールドであるかを確認する
- 12. System.Data.SqlClient.SqlTransactionにアクティブなトランザクションがあるかどうかを確認するにはどうすればよいですか?
- 13. Magentoが404ページにあるかどうかを確認するには?
- 14. セレクタにqtipがあるかどうかを確認するには?
- 15. 特定のXULElementにフォーカスがあるかどうかを確認するには
- 16. クラスにプロパティがあるかどうかを確認するには?
- 17. ポイント/住所がルート上にあるかどうかを確認するには?
- 18. 開いているタブがJavaのアクティブなタブであるかどうかを確認するにはどうすればよいですか?
- 19. ユーザーにCREATE DATABASE権限があるかどうかを確認
- 20. クラスに静的メソッドがあるかどうかを確認
- 21. セグメントがポリゴン内にあるかどうかを確認
- 22. Pointがline2D内にあるかどうかを確認
- 23. 列にユニーク制約があるかどうかを確認
- 24. JComboBoxにデフォルト値があるかどうかを確認
- 25. ポップアップがExcelの前面にあるかどうかを確認
- 26. SWFにフォーカスがあるかどうかを確認
- 27. 現在アクティブな要素が何らかの入力であるかどうかを確認します
- 28. Rubyとcronでアクティブなログインセッションがあるかどうかを確認するにはどうすればいいですか?
- 29. LdapAuthenticationProviderがユーザーがアクティブでないかどうかを確認しません
- 30. たUicontextmenuが見えるかアクティブであるかどうかを確認する方法
hasMessages()は常に自分のコードでfalseを返します。これは動作確認されていますか? – pmont
はい実際には、handler.sendEmptyMessage(1);これは、ハンドラに空のメッセージをセットするので、if(handler.hasMessages(1))を呼び出すとtrueを返します。 removeMessages(1)を使用してメッセージを削除した場合、falseが返されます。 – Triode
hasMessages(1)はsendEmptyMessage(1)の発行直後にfalseを返します。あなたはアプリでこのコードを使ったことがありますか? – pmont