如何呈现空列表视图?

Eno*_*Eno 2 layout android listview

如果列表视图没有给出任何项目,它是如何呈现的?它是否仍会扩展以填充分配给它的布局中的空间?

Cas*_*eyB 5

是的,它仍将填充空间,但不是显示列表,而是显示另一个视图.这是一个例子:

<FrameLayout
    android:id="@+id/GLFrame"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" />
    <TextView
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:id="@android:id/empty"
        android:gravity="center_vertical|center_horizontal|center"
        android:text="@string/no_songs_found"
        android:textColor="#FFF"
        android:textSize="20sp"
        android:textStyle="bold" />
    <ListView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@android:id/list"
        android:cacheColorHint="#0000" />
Run Code Online (Sandbox Code Playgroud)

这里的关键是"@android:id/empty""@android:id/list"ids.这些告诉Android,如果列表为空,它应该显示列表或其他视图.

  • 这只适用于使用`ListActivity`的情况. (2认同)