2011-01-27 6 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; 
    } 
    ... 
} 
関連する問題