2013-11-30 4 views
0

У меня есть метод в моей основной деятельности, который выполняет класс async, который отлично работает, но когда я помещаю код кода предупреждения внутри, он не работает. И.Е.открытие предупреждения из async после того, как метод Async завершен

public void onGetStatus(View v) { 

    new AsyncClass().execute(); 
} 

} 


class AsyncClass extends AsyncTask < Void, Void, String > { 

    @ 
    Override 
    protected String doInBackground(String...params) { 



     //TODO  


    } 

} 




protected void onPostExecute(String test) { 

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 

    alertDialogBuilder.setMessage(test); 

    alertDialogBuilder.show(); 



} 

Когда я пытаюсь выполнить AlertDialogBuilder в методе onPostexecture класса он не работает, но если скопировать и вставить в методе тот вызов класса AsyncTask он прекрасно работает.

ответ

1

это называет текущий объект, который является асинхронным. Сделайте это: -

protected void onPostExecute(String test) { 

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);//Put your activityname instead of MainActivity 

alertDialogBuilder.setMessage(test); 

alertDialogBuilder.show(); 



} 
1

изменение new AlertDialog.Builder(this) к new AlertDialog.Builder(youractivity.this)