Error en Anrdoid con AsyncTask y Looper.prepare()

written by uve 23 August 2011

Programando en una tarea asíncrona, AsyncTask, me he encontrado con el siguiente error:

Can't create handler inside thread that has not called Looper.prepare()

La solución es muy sencilla:

public class MiAsyncTask extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... params) {
        Looper.prepare();
        ...
    }
}

Tags

La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.