问题描述
以前,此代码可以完美运行。
现在显示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;
}
}