2017-11-07 1 views
0

Ich habe eine Absicht Service und in diesem Dienst verwende ich ein asytask auf dem Hintergrund Ich möchte, dies zu tun: expandableListView.setAdapter(expandableListAdapter);Intent Service AsyncTask Hintergrund setAdapter

Aber ich kann das nicht

+0

aktualisieren, tun Sie es in onPostExecute(). – ADM

+0

Haben Sie eine asyncTask in einem Service? Können Sie bitte mehr Code bereitstellen? –

+0

@VictorNeves ja U haben Intent Service eine Asyntask –

Antwort

1

Sie nicht Ansicht von Thread bearbeiten können unterscheidet sich von dem Aktivitätsfaden. Ich denke, Sie versuchen, dies in DoInBackground (das ist ein anderer Thread) zu tun. Um dieses Problem zu lösen, können Sie diese Zeile in der Methode onPreExecute() oder onPostExecute() ausführen, die jeweils vor und nach der Methode doInBackground() ausgeführt wird.

1

IntentService Starten eines Worker-Thread und Sie können nicht mit View darauf umgehen. In der Regel zu berühren View im Hintergrund verwendet Thread runOnUiThread(); oder Handler mit Runnable aber Runnable wird auf den Thread ausgeführt werden, an die dieser Handler angeschlossen ist. In meinem Verstand wählen Sie falsche Lösung und müssen Rückruf von Service verwenden und View innerhalb Activity oder Fragment