2016-08-09 26 views
0

Ich habe ein Problem mit AsyncTask.
Die rejectTask() Methode wird früher als AddCommentAsync aufgerufen.
So habe ich eine nullpointerexception() in AsyncTask. Wenn ich den if Block schreibe, wird AddCommentAsync zuerst aufgerufen.
Aber wenn AddCommentAsync beendet ist, wird die rejectTask() Methode nicht aufgerufen.AsyncTask später Anruf

AddCommentAsync add=null; 
add = new AddCommentAsync(activity); 
add.execute(); 
if(add!=null && add.getStatus() == AsyncTask.Status.FINISHED) 
ArrayList<String> resultRejected = rejectedTask(); 

Helfen Sie mir jemanden?

Antwort

0

Da sollten Sie resultRejected = rejectedTask(); in der AsyncTask onPostExecute() Methode festlegen.
Und Sie brauchen diese Zeile nicht: if(add!=null && add.getStatus() == AsyncTask.Status.FINISHED).

Bitte beachten Sie The four steps im official docs

+0

Aber ich kann einige Parameter in AsyncTask nicht darauf zugreifen. Da sich AsyncTask in einer anderen Klasse befindet – mobileprogramming

+0

Dann machen Sie die Variablen zugänglich. –

+0

Danke ich gelöst. – mobileprogramming