2011-01-27 4 views
2

AsyncTask의 추상 구현을 빌드하려고하는데 사용자 정의 ProgressDialog를 삽입하고 싶습니다. Activity Class 외부에서 컨텍스트를 얻으려면 어떻게해야합니까?추상이 아닌 활동 클래스의 컨텍스트 검색

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; 
    } 
    ... 
} 
관련 문제