private void setState(int state) { if (mState != state) { int oldState = mState; mState = state; if (mStateChangeListener != null) mStateChangeListener.onStateChange(this, oldState, mState); } }
@Override public void onEndLoadMore(IDataAdapter<DATA> adapter, DATA result) { if (onStateChangeListener != null) { onStateChangeListener.onEndLoadMore(adapter, result); } else if (onLoadMoreStateChangeListener != null) { onLoadMoreStateChangeListener.onEndLoadMore(adapter, result); } }
@Override public void onStartLoadMore(IDataAdapter<DATA> adapter) { if (onStateChangeListener != null) { onStateChangeListener.onStartLoadMore(adapter); } else if (onLoadMoreStateChangeListener != null) { onLoadMoreStateChangeListener.onStartLoadMore(adapter); } }
@Override public void onEndRefresh(IDataAdapter<DATA> adapter, DATA result) { if (onStateChangeListener != null) { onStateChangeListener.onEndRefresh(adapter, result); } else if (onRefreshStateChangeListener != null) { onRefreshStateChangeListener.onEndRefresh(adapter, result); } }
@Override public void onStartRefresh(IDataAdapter<DATA> adapter) { if (onStateChangeListener != null) { onStateChangeListener.onStartRefresh(adapter); } else if (onRefreshStateChangeListener != null) { onRefreshStateChangeListener.onStartRefresh(adapter); } }
private void changeState(int state) { if (this.state == state) { return; } this.state = state; if (onStateChangeListener != null) { onStateChangeListener.onStateChange(state); } }
public void setState(State state) { mState = state; for (int i = 0; i < mContentLayoutList.size(); i++) { mContentLayoutList.get(i).setVisibility(state == State.CONTENT ? View.VISIBLE : View.GONE); } mProgressLayout.setVisibility(state == State.PROGRESS ? View.VISIBLE : View.GONE); mOfflineLayout.setVisibility(state == State.OFFLINE ? View.VISIBLE : View.GONE); mEmptyLayout.setVisibility(state == State.EMPTY ? View.VISIBLE : View.GONE); if (mOnStateChangeListener != null) mOnStateChangeListener.onStateChange(this, state); }
/** * 显示状态的布局 * * @param state 状态 * @param msg 消息 */ public void showStateWithMsg(@State int state, String msg) { if (state == mCurrentState) { if (TextUtils.isEmpty(msg)) { // 同种状态,没有文案,不进行view切换 return; } } @State int oldState = mCurrentState; this.mCurrentState = state; checkAndInitCurrentView(state, msg); showCurrentView(state); if (mOnStateChangeListener != null) { mOnStateChangeListener.onStateChange(oldState, mCurrentState); } }