web-dev-qa-db-ja.com

非推奨のHandler()を解決する方法は?

廃止予定の警告またはこれに対する代替ソリューションを修正する方法を誰かが知っているでしょうか?.

 Handler().postDelayed({
        context?.let {
           //code
        }
    }, 3000)
1
Hari Shankar S

ドキュメント( https://developer.Android.com/reference/Android/os/Handler )によると、「ハンドラーの構築中にルーパーを暗黙的に選択すると、操作が黙って失われるバグが発生する可能性があります(ハンドラーが新しいタスクを予期せず終了する)、クラッシュ(ハンドラーがルーパーがアクティブでないスレッド上に作成される場合がある)、またはハンドラーが関連付けられているスレッドでの競合状態は、作成者が予期したものではありません。代わりに、 Executor、またはLooper#getMainLooper、{link Android.view.View#getHandler}などを使用してLooperを明示的に指定します。互換性のために暗黙のスレッドローカル動作が必要な場合は、新しいHandler(Looper.myLooper())を使用してそれは読者には明らかです。」

ルーパーなしのコンストラクター、具体的にはルーパーを使用せずに終了する必要があります。

0
KNOX.C