1. ホーム

[解決済み】Handler()が非推奨になった今、何を使えばいいのか?

2022-04-05 03:31:10

質問

このコードの非推奨の警告を修正するにはどうすればよいですか?あるいは、これを行うための他のオプションがありますか?

Handler().postDelayed({
    context?.let {
        //code
    }
}, 3000)

解決方法は?

パラメータレスコンストラクタのみが非推奨となり、現在は、パラメータレスコンストラクタを指定することが推奨されています。 Looper を経由して、コンストラクタに Looper.getMainLooper() メソッドを使用します。

Javaに使用する

new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
    @Override
    public void run() {
        // Your Code
    }
}, 3000);

Kotlinに使用する

Handler(Looper.getMainLooper()).postDelayed({
    // Your Code
}, 3000)