更新ボタンにリンクされた AsyncTask があります (更新ボタンをクリックすると、AsyncTask が呼び出されます)。
Layout に ProgressBar の LinearLayout フィールドがあります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/grey">
<Button android:id="@+id/refresh_p"
android:text="@string/refresh_promo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_button1"/>
<LinearLayout android:id="@+id/linearlayoutProgressBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="@color/tabTransparent"
android:cacheColorHint="#00000000"/>
<!-- <ListView android:id="@+id/list_promo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>-->
</LinearLayout>
私の AsyncTask で:
@Override
protected void onPreExecute()
{
super.onPreExecute();
pb = new ProgressBar(context);
LinearLayout ll = (LinearLayout) ((Activity) context).findViewById(R.id.linearlayoutProgressBar);
ll.addView(pb);
pb.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(ArrayList<HashMap<String, String>> promoList)
{
...
if (pb!=null)
{
pb.setVisibility(View.GONE);
((LinearLayout)pb.getParent()).removeView(pb);
}
}
私が抱えている問題は、更新ボタンを2回以上クリックすると、複数のプログレスバーが画面に表示されることです.新しいプログレスバーが同じ位置で古いものを置き換えるだけです..