我有一个链接到刷新按钮的 AsyncTask(当我单击刷新按钮时,我的 AsyncTask 被调用)。
我在我的布局上有我的 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 次时,屏幕上会显示多个 ProgressBar。我只希望新的 ProgressBar 在同一位置替换旧的 ..