У меня есть AsyncTask, связанный с кнопкой обновления (когда я нажимаю кнопку обновления, вызывается моя AsyncTask).
У меня есть в моем макете поле LinearLayout для моего ProgressBar:
<?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 нажатий на кнопку «Обновить», на экране отображается несколько ProgressBar. Я просто хочу, чтобы новый ProgressBar заменил старый в той же позиции.