Как обработать устаревший обработчик в android [дубликат]
Aug 21 2020
Раньше этот код работал идеально.
Теперь он показывает, что android.os.handler устарел.
private final Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
break;
}
}
Как мы можем решить эту проблему.
Ответы
10 AlphaOne Aug 21 2020 at 06:31
Как упоминал Майк в комментариях, Handler
не является устаревшим. Способ создания объекта с помощью Handler new 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;
}
}