记录ListView设置空界面

此生再无相见时 提交于 2019-12-11 05:08:01
/**
 * 设置ListView的EmptyView
 * setEmptyView
 *
 * @param listview
 * @param emptyView <p>将EmptyView添加到最外层的ViewGroup上。</p>
 * @author Administrator
 */
public static void setEmptyView(ListView listview, View emptyView) {
    FrameLayout emptyLayout;
    if (listview.getEmptyView() == null) {
        emptyLayout = new FrameLayout(listview.getContext());
        emptyLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        emptyView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        emptyLayout.addView(emptyView);
        emptyView.setVisibility(View.VISIBLE);
        getParentView((ViewGroup) listview.getParent()).addView(emptyLayout);
        listview.setEmptyView(emptyLayout);
    } else {
        emptyLayout = (FrameLayout) listview.getEmptyView();
        emptyLayout.removeAllViews();
        emptyLayout.setVisibility(View.VISIBLE);
        emptyLayout.addView(emptyView);
    }
}

private static ViewGroup getParentView(ViewGroup parent) {
    ViewGroup tempVg = parent;
    if (parent.getParent() != null && parent.getParent() instanceof ViewGroup) {
        tempVg = (ViewGroup) parent.getParent();
        getParentView(tempVg);
    } else {
        return tempVg;
    }
    return tempVg;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!