1. ホーム
  2. java

[解決済み] ハンドラは抽象的であり、インスタンス化できない

2022-02-07 19:37:02

質問

を使おうとしています。 Handler を作成しました。しかし、このようにインスタンス化すると

Handler handler = new Handler();

以下のようなエラーが発生します。

Gradle: エラーです。Handler is abstract; cannot be instantiated

そして、解決策を確認すると、これらのメソッドを実装するように求められます。

Handler handler = new Handler() {
    @Override
    public void close() {
        
    }

    @Override
    public void flush() {

    }

    @Override
    public void publish(LogRecord record) {

    }
};

を使用したことはありません。 Handlers 私はこれを、あるメソッドを少し遅れて呼び出すために使っています。それを達成するために、私は使用しました。

handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            //Do something after 100ms
        }
    }, 100);

しかし、エラーが表示されます。

Gradle: error: cannot find symbol method postDelayed(,int)

解決方法は?

間違ったHandlerクラスをインポートしてしまったようです。

import java.util.logging.Handler;

に変更します。

import android.os.Handler;