ListView设置EmptyView

Posted 南飞的孤雁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView设置EmptyView相关的知识,希望对你有一定的参考价值。

ListView以及其他继承自AdapterView的类可以通过setEmptyView(View)方法很简单地处理空状态。当需要绘制AdapterView时,如果适配器为null或者适配器的isEmpty()方法返回true,此时会显示setEmptyView(View)方法所设置的视图。
示例代码如下:
layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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/main_listView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
    <ImageView
        android:id="@+id/main_emptyView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/empty_view" />
</FrameLayout>

MainActivity.java:

public class MainActivity extends Activity 

  private ListView mListView;

  @Override
  public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mListView = (ListView) findViewById(R.id.main_listView);
    mListView.setEmptyView(findViewById(R.id.main_emptyView));
  

以上是关于ListView设置EmptyView的主要内容,如果未能解决你的问题,请参考以下文章

判断Listview滑到顶部的最精准方案,解决Listview设置EmptyView与SwipeRefreshLayout冲突

Android ListView.setEmptyView

为 android ListView 设置空视图不适用于在 Java 中创建的视图

Android ListView之setEmptyView的问题

为啥 EmptyView() 不能在带有 SwiftUI 的 WatchOS 上工作?

EmptyView 未在 iOS 15、Xcode 13 中显示