提问者:小点点

如何在android中处理已弃用的Handler[重复]


以前,此代码运行良好。

现在它正在显示android. os.handler已被弃用。

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

我们如何解决这个问题。


共1个答案

匿名用户

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

根据留档,使用new Handler()会导致错误。所以你应该为处理程序显式指定一个循环器。循环器不能为空。

参考代码:

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