2011-01-27 2 views
2

Я пытаюсь создать свою абстрактную реализацию 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; 
} 

}

ответ

4

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

abstract public class DataPoller extends AsyncTask<Void, Void, Void> { 
    ... 
    Context mContext; 
    ... 
    DataPoller(Context context){ 
     super(); 
     this.mContext = context; 
    } 
    ... 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^