android - ListView 上的 setEmptyView 未在 android 应用程序中显示其 View ?

标签 android listview

我对 ListView 中的 setEmptyView 方法有疑问。

这是我的 Java 代码:

ListView view = (ListView)findViewById(R.id.listView1);
view.setEmptyView(findViewById(R.layout.empty_list_item));

ArrayAdapter<Session> adapter1 = new ArrayAdapter<Session>(this, android.R.layout.simple_list_item_1, 
        android.R.id.text1, MainController.getInstanz().getItems());
view.setAdapter(adapter1);

empty_list_item:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@string/emptyList" >

</TextView>

ListView :

<ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

我的代码有什么问题? 当我有项目时,我会在列表中看到它们。但是当列表为空时,我看不到 TextView

最佳答案

您的 TextView 应放置在 ListView 项目的正下方,其可见性设置为消失 (android:visibility="gone"),不要将其放置在其他布局中。 这就是你的主要布局的样子

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listViewFangbuch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
    <TextView
        android:id="@+id/empty_list_item"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone"
        android:text="@string/emptyList" >
    </TextView>

</LinearLayout>

这就是你的代码的样子

ListView view = (ListView)findViewById(R.id.listViewFangbuch);
view.setEmptyView(findViewById(R.id.empty_list_item));

ArrayAdapter<Session> adapter1 = new ArrayAdapter<Session>(this, android.R.layout.simple_list_item_1, 
        android.R.id.text1, MainController.getInstanz().getItems());
view.setAdapter(adapter1);

关于android - ListView 上的 setEmptyView 未在 android 应用程序中显示其 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483508/

相关文章:

android - Android:HTTPCLIENT POST-无法将数据发送到服务器

android - 在 ListActivity 中显示 SQL 连接的结果

java - Android:获取具有多行布局的 ListView 的值

java - 在ListView中显示JsonArray

android - 如何确保在 Android Volley 的 API 请求中使用 TLS 1.2?

java - 在后台停止 MediaPlayer - Android

java - ListView 滚动时不会保留 Edittext 的内容

vb.net - 避免 ListView 选定索引更改触发两次

android - 如何在没有互联网的情况下以编程方式连接到 Wifi Android (Xamarin)

java - Recyclerview 不会对大型数据集进行动画处理