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{ //有数据时候的操作 }