【已解决】 数据请求多个状态结果的处理,放在activity 中 该怎么处理
各位大佬,领券联盟课程里多状态请求是放在frament里面的
那么在activity 可以套用这种办法吗?
我在activity里面没有 inflater , container 这该咋办?activity里是 setContentView()
谢谢
fragment里面的方法
public enum State {
NONE, LOADING, SUCCESS, ERROR, EMPTY
}
rootView = inflater.inflate(R.layout.fragment_settle_base, container, false);
baseContainer = rootView.findViewById(R.id.base_container);
loadStateView(inflater, container);
private void loadStateView(LayoutInflater inflater, ViewGroup container) {
//请求成功的页面
successView = loadSuccessView(inflater, container);
baseContainer.addView(successView);
//加载中的页面
loadingView = loadLoadingView(inflater, container);
baseContainer.addView(loadingView);
//错误的页面
errorView = loadErrorView(inflater, container);
baseContainer.addView(errorView);
//请求为空的页面
emptyView = loadEmptyView(inflater, container);
baseContainer.addView(emptyView);
setUpState(State.NONE);
}
public void setUpState(State state){
Log.d(TAG, "setUpState: 当前的 state "+state);
this.currentState=state;
successView.setVisibility(currentState==State.SUCCESS?View.VISIBLE:View.GONE);
loadingView.setVisibility(currentState== State.LOADING?View.VISIBLE:View.GONE);
errorView.setVisibility(currentState== State.ERROR?View.VISIBLE:View.GONE);
emptyView.setVisibility(currentState== State.EMPTY?View.VISIBLE:View.GONE);
}
https://www.sunofbeach.net/c/1182379694310326272
课程在这里,如果你能看懂,直接去看UILoader的代码,如果看不懂,就去看视频吧。
那你就参考一下喜马拉雅FM电台的UILoader了。把这两种掌握了。基本上是够用的。