当listview没有数据显示时,通常显示一些提示语,一般都是先判断集合是否有数据,没数据就显示提示语,但是在listview有个方法setEmptyView(view),它的内部会自动判断这个集合是否有数据,但没有数据时就会显示空的view,源码实现:
@android.view.RemotableViewMethod
public void setEmptyView(View emptyView) {
mEmptyView = emptyView;
final T adapter = getAdapter();
final boolean empty = ((adapter == null) || adapter.isEmpty());
updateEmptyStatus(empty);
}
private void updateEmptyStatus(boolean empty) {
if (isInFilterMode()) {
empty = false;
}
if (empty) {
if (mEmptyView != null) {
mEmptyView.setVisibility(View.VISIBLE);
setVisibility(View.GONE);
} else {
// If the caller just removed our empty view, make sure the list view is