如何处理Android

问题描述

以前,此代码可以完美运行。

现在显示android.os.handler已过时。

private final Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case MESSAGE_STATE_CHANGE:
        break;
        }
    }

我们如何解决此问题。

解决方法

正如Mike在评论中提到的,Handler不被弃用。不建议使用new Handler()创建Handler对象的方式。

根据文档,使用new Handler()可能会导致错误。因此,您应该为处理程序明确指定一个循环程序。 Looper不能为空。

请输入代码:

private final Handler mHandler = new Handler(Looper.getMainLooper()) {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case MESSAGE_STATE_CHANGE:
        break;
        }
    }