/**
* 该类用来帮助对不同的UI界面进行加载
*/
public abstract class UILoader extends FrameLayout {
private View mLoadingView;
private View mNetworkErrorView;
private View mDataEmptyView;
private View mSuccessView;
private OnRetryLoadDataListener mOnRetryLoadDataListener;
/**
* 表示不同状态的类
*/
public enum UIStatus {
LOADING, SUCCESS, NETWORK_ERROR, EMPTY, NONE
}
private UIStatus mCurrentStatus = UIStatus.NONE; // 初始为none
public UILoader(@NonNull Context context) {
// 改成this,保证入口唯一
this(context, null);
}
public UILoader(@NonNull Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public UILoader(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// 初始化
init();
}
/**
* 更新当前的状态
*/
public void updateStatus(UIStatus