4
我有一个填充AsyncTask ListView。在运行时,ListView变为不可见,ProgressBar显示在水平中心,在AsyncTask完成后消失,并且ListView再次显示。现在,它看起来像这样:如何在ListView中放置一个ProgressBar?
但我需要进度显示ListView控件的内部,水平和垂直居中:
这是我的布局标记:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:id="@+id/LinearHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ProgressBar
android:id="@+id/HeaderProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ProgressBar>
</LinearLayout>
<ListView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/listView"/>
</LinearLayout>
我该如何做到这一点?
谢谢。
另外,在onCreate()方法,设置进度条作为空视图。 'listView.setEmptyView(findViewById(R.id.HeaderProgress));'然后,当你的列表填充数据时,进度条将消失。 – hfann 2014-10-05 14:36:48
@hfann今天我学到了一些新东西,谢谢,我会试试看。 – Chitrang 2014-10-05 14:39:01
@Chitrang,谢谢,它的工作原理! @hfann,而不是'.setEmptyView()'我在'onPostExecute()'方法中使用'.setVisibility(View.GONE);'。 – 2014-10-05 15:10:32