抽取Fragment 和对抽取的Fragment进行应用(心得用的时候稍微修改就可以了)
界面处理放在LoadingPage里面
public abstract class LoadingPage extends FrameLayout {
private View loadingView;// 正在加载中的view对象
private View errorView;// 加载失败的view对象
private View emptyView;// 加载为空的view对象
private View successView;// 加载成功的view对象
protected static final int STATUS_LOADING = 0;// 正在加载的状态
protected static final int STATUS_UNKNOWN = 4;// 位置的状态
// 服务器返回的三种状态
public final static int STATUS_ERROR = 1;// 加载错误的状态
public final static int STATUS_EMPTY = 2;// 加载为空的状态
public final static int STATUS_SUCCESS = 3;// 加载成功的状态
private int state = STATUS_LOADING;// 进来默认正在加载
public LoadingPage(Context context) {
super(context);
init();
}
public LoadingPage(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public LoadingPage(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
/**
* 将几种不同的 界面添加到FrameLayout中
*/
protected void init() {
if (loadingView == null) {
loadingView = createLoadingView(); // 创建加载中的界面
this.addView(loadingView, new LayoutParams(
LayoutParams.MATCH_PARENT, -1));
}
if (errorView == null) {
errorView = createErrorView(); // 创建加载失败的view对象
this.addView(errorView, new LayoutParams(
LayoutParams.MATCH_PARENT, -1));
}
if (emptyView == null) {
emptyView = createEmptyView();// 创建加载为空的界面
this.addView(emptyView, new LayoutParams(