关于ListView的setEmptyView()设置空白页方法

    在ListView和GridView中,当出现展示列表为空或者网络出现异常等特殊情况,一个空白的界面显然是不够友好的,但是使用一个其他布局再使用visibility进行显示/隐藏也不够高大上,这里简单的说说setEmpty()方法,对为空数据列表进行提示页面的展示。

    空白提示页面的布局文件:(两个提示页面只有图片不同)

<?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">
    <ImageView
        android:layout_width="145dp"
        android:layout_height="138dp"
        android:layout_gravity="center"
        android:layout_marginBottom="30dp"
        android:src="@drawable/no_internet_order" />
</FrameLayout>
    将布局进行加载:
    // 网络出错背景
    private View mViewEmpty;
    mViewEmpty = LayoutInflater.from(getActivity()).inflate(R.layout.view_empty_order, (ViewGroup) getActivity().findViewById(android.R.id.content), false);
(ViewGroup) getActivity().findViewById(android.R.id.content)    当前程序的父容器
    /**
     * 修改替换图片
     */
    private void setChangeView(View view) {
        ((ViewGroup) lvSeizedOrder.getParent()).removeView(mViewInternet);
        ((ViewGroup) lvSeizedOrder.getParent()).removeView(mViewEmpty);
        ((ViewGroup) lvSeizedOrder.getParent()).addView(view);
        lvSeizedOrder.setEmptyView(view);
    }
    这里是出现两张图片替换的情况,当只有一张图片的时候可以不使用removeView移除,将addView放在初始化中,需要调用是直接调用setEmptyView方法。

    需要注意:setEmptyView方法传入的对象必须在此之前调用addView方法将View进行添加,否则该方法没有效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值