コンテキストを取得する AsyncTask があります。
public class DownloadDataPromotions extends AsyncTask<Void, Integer, ArrayList<HashMap<String, String>>>
{
Context context;
public DownloadDataPromotions(Context context)
{
this.context = context;
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
}
@Override
protected ArrayList<HashMap<String, String>> doInBackground(Void... params)
{
ArrayList<HashMap<String, String>> promoList = new ArrayList<HashMap<String, String>>();
promoList = DownloadingDataFromWebService();
...
return promoList;
}
@Override
protected void onProgressUpdate(Integer... values)
{
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(ArrayList<HashMap<String, String>> promoList)
{
super.onPostExecute(promoList);
...
}
}
次に、この AsyncTask からダウンロードされたすべてのコンテンツをリストに表示するために、それを ListActivity (彼のコンテキストで) に呼び出しています。
しかし今、私はこの AsyncTask に Loader ProgressBar を追加したいと思っています。
これをカスタム ドローアブルを使用してドローアブル コンテンツに入れましたが、AsyncTask がロードされているときに表示し、AsyncTask が終了すると (プログラムで) 消えるようにしたいと考えています。
編集:
これはうまくいきます:
ProgressBar pb = new ProgressBar(TabPromotionsJSONParsingActivity.this);
LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayoutProgressBar);
ll.addView(pb);
pb.setVisibility(View.VISIBLE);
しかし、私が今抱えている問題は、Asynctask が終了したときにそれを停止することです.. DownloadDataPromotions で同じタスクを実行したいのですが、誰かが方法を知っていますか?