我想为列表视图创建多个空视图并以编程方式设置它们。所以我在 ListActivity 中有一个列表视图。我的客户想要应用程序的方式,我在应用程序中有一个标题栏,所以布局看起来像这样
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/providerListLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<include
android:id="@+id/headerBar_ref"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/header_with_dashboard_button" />
<include
android:id="@+id/loadingView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
layout="@layout/loading_view" />
<RelativeLayout
android:id="@+id/listViewWrapper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@id/headerBar_ref" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/headerBar_ref" >
</ListView>
</RelativeLayout>
所以我在单独的 xml 文件中有 2 个空视图。在 Activity 列表中,我尝试像这样设置空视图:
RelativeLayout rootLayout = (RelativeLayout) findViewById(R.id.listViewWrapper);
RelativeLayout noFavsLayout = (RelativeLayout) this
.getLayoutInflater().inflate(emptyViewLayoutId,
rootLayout);
getListView().setEmptyView(noFavsLayout);
但是当我这样做时,空视图一直存在。我还尝试使用 addContentView() 添加视图,但这会占据整个屏幕。我还没有找到关于 S/O 的解决方案