ListView通过addHeaderView,设置头布局,为了应对数据为空的情况,会设置setEmptyView,但是在设置了空布局以后,会覆盖整个ListView的可用空间,就不显示头布局了,这个可以在adapter里做一些小手脚
关键代码如下:
private boolean isShowEmpty = false;//是否显示空视图
@Override public int getCount() {
if (sampleStrings.length == 0) {
isShowEmpty = true;
return 1; }
return sampleStrings.length; }
@Override public View getView(final int position, View convertView, ViewGroup parent) { if (getCount() == 1 && isShowEmpty) {
convertView = View.inflate(mContext, R.layout.empty_layout, null); convertView.setVisibility(View.VISIBLE);
TextView empty_view = (TextView) convertView.findViewById(R.id.empty_view); empty_view.setText("没有查询到XXXX");
return convertView;
}else{
//有数据时候的操作 }