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