'Handler(Handler.Callback) is deprecated

Handler(android.os.Handler.Callback) is deprecated what should I use instead?

Handler handler = new Handler(new Handler.Callback() {
    @Override
    public boolean handleMessage(@NonNull Message message) {
        switch(message.what) {
            case READ_MESSAGE:
                byte[] readBuff = (byte[]) message.obj;
                String tempMessage = new String(readBuff, 0, message.arg1);
                readMsg.setText(tempMessage);
                break;
        }
        return true;
    }
});


Solution 1:[1]

Use it in Java files,

Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    //Code here
   }
}, 2000);

Use it in Kotlin files,

Handler(Looper.getMainLooper()).postDelayed({
    // Code here
}, 2000)

Solution 2:[2]

In Kotlin, if you use Handler and Runnable , just add one key:

before

 private var handler: Handler = Handler()

after

private var handler: Handler = Handler(Looper.getMainLooper())

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Hardik Hirpara
Solution 2 Mori