Android: Comment mettre à jour une INTERFACE utilisateur à partir du AsyncTask si AsyncTask est dans une classe à part?

Je déteste l'intérieur de la classe.

J'ai une activité principale qui lance une "courte vie" AsyncTask.

AsyncTask est dans un fichier séparé, n'est pas un intérieur de classe de l'activité principale

J'ai besoin async mises à jour de tâches d'un textView de l'Activité principale.

Je sais que je peux mettre à jour un TextView de onProgressUpdate, si AsyncTask est un intérieur de classe

Mais comment, en externe, indépendante, async task ?

Mise à JOUR: Cela ressemble de travail :

Dans acitivty j'appelle la tâche

backgroundTask = new BackgroundTask(this);
backgroundTask.execute();

Dans le constructeur, j'ai

public BackgroundTask(Activity myContext)
{
    debug = (TextView) myContext.findViewById(R.id.debugText);
}

où debug est un domaine privé de AsyncTask.

Donc onProgressUpdate je peux

debug.append(text);

Merci pour toutes vos suggestions

  • Vous signifie que dans une autre classe, vous souhaitez accéder à l'INTERFACE utilisateur ?
  • Oui. J'ai besoin de mettre à jour un TextView de l'AsyncTask.
  • Vous pouvez passer Contexte de votre constructeur et avec un moulage de votre ActivityClass, vous pouvez modifier textView à l'aide de runOnUIThread méthode.
InformationsquelleAutor realtebo | 2012-09-03