美文网首页
listview无数据时,headview高度过长(超过一屏幕)

listview无数据时,headview高度过长(超过一屏幕)

作者: 郭某人1 | 来源:发表于2018-07-13 18:42 被阅读151次

开发中遇到的问题记录以下:

页面是ListView 添加了一个header和一个footer;
当ListView数据为空时,滑动后Header显示不全;

个人解决方式:
1,数据返回为空时,添加一条空数据;

            if (data == null || !data.isSuccess() || data.getData().size() <= 0) {
                listView.clear();
                listView.add(new Data());
                discoverLvAdapter.notifyDataSetChanged();
                return;
            }         
            listView.clear();
            listView.addAll(data.getData());
            discoverLvAdapter.notifyDataSetChanged();
        }
}

2.ListView条目布局中添加一个高度和宽度为0的View

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical">   <ImageView
    android:id="@+id/iv_disc_lv_item"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:scaleType="fitXY"/>

<ImageView
    android:id="@+id/iv_disc_lv_empty_item"
    android:layout_width="0dp"
    android:layout_height="0dp" /></LinearLayout>

3.在Adapter中判断该数据为空数据时,隐藏正常View,否则显示正常View;

@Override
public void showData(int position, ViewHolder viewHolder, ActivityBanner data) {
    DisViewHolder holder = (DisViewHolder) viewHolder;
    if (TextUtils.isEmpty(data.getImageUrl())) {
        holder.ivDiscLvItem.setVisibility(View.GONE);
    } else {
        holder.ivDiscLvItem.setVisibility(View.VISIBLE);
        GlideUtils.loadRoundImage(25, mContext, data.getImageUrl(), holder.ivDiscLvItem, UIUtils.getDrawable(R.drawable.logo_zwf_nor), UIUtils.getDrawable(R.drawable.logo_zwf_nor));
    }
    holder.ivDiscLvEmptyItem.setImageResource(0);
}

这样ListView Header就可以正常显示了;

相关文章

网友评论

      本文标题:listview无数据时,headview高度过长(超过一屏幕)

      本文链接:https://www.haomeiwen.com/subject/navcpftx.html