如何处理 android 中已弃用的处理程序
How to handle deprecated Handler in 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;
}
}
以前这段代码运行完美。
现在显示 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;
}
}