Cómo manejar el controlador obsoleto en Android [duplicado]
Aug 21 2020
Anteriormente, este código funcionaba perfectamente.
Ahora se muestra que android.os.handler está obsoleto.
private final Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
break;
}
}
¿Cómo podemos resolver este problema?
Respuestas
10 AlphaOne Aug 21 2020 at 06:31
Como lo mencionó Mike en los comentarios, Handler
no está desaprobado. La forma de crear un objeto con Handler new Handler()
está obsoleta.
Según la documentación, el uso new Handler()
puede provocar errores. Por lo tanto, debe especificar un looper para el controlador de forma explícita. Looper no debe ser nulo.
Consulte el código:
private final Handler mHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
break;
}
}