Получить контекст в абстрактном, неактивном классе

Я пытаюсь построить свою абстрактную реализацию AsyncTask, и я хотел бы вставить пользовательский ProgressDialog. Как я могу получить контекст вне класса деятельности?

   abstract public class DataPoller extends AsyncTask<Void, Void, Void> {

 Context mContext = getApplicationContext();

 ProgressDialog dialog = new ProgressDialog(mContext);

 @Override
 protected void onPreExecute() {



  dialog.setMessage("Polling data...");
  dialog.show();


 }


 @Override
 protected void onPostExecute(Void unused) {

  if ( dialog.isShowing() ) {

   dialog.dismiss();

  }


 }

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

  int tmp=0;

  for (int ii = 0; ii<1000; ii ++) {

   for (int jj = 0; jj<1000; jj ++) {

    tmp = ( tmp + 3 ) % 167;     

   }

  }
  return null;
 }

}

1 ответ

Решение

Вы можете передать это в конструктор:

abstract public class DataPoller extends AsyncTask<Void, Void, Void> {
    ...
    Context mContext;
    ...
    DataPoller(Context context){
        super();
        this.mContext = context;
    }
    ...
}
Другие вопросы по тегам