記錄ListView設置空界面

/**
 * 設置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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章