DylanCaiCoding / LoadingStateView

Decoupling the code of toolbar or loading status view. (深度解耦标题栏,解耦加载中、加载失败、无数据等缺省页,支持两行代码集成到基类)
Apache License 2.0
676 stars 53 forks source link

notifyDataSetChanged()无效 #25

Closed crazyzjw closed 2 years ago

crazyzjw commented 2 years ago

刷新状态文案无效..

DylanCaiCoding commented 2 years ago

目前需要 showView() 之后刷新才生效,我迟点优化一下这个逻辑,不用显示也能直接刷新。在没显示之前想更新,可以直接 getViewDelegate() 修改配置,显示后还要再修改的话才调用 notifyDataSetChanged()

另外在 3.0.1 版本增加了个方法替代 notifyDataSetChanged(),简化更新的代码。

Kotlin:

loadingStateView.updateView<LoadingViewDelegate>(ViewType.LOADING) {
  msg = "正在加载,请稍后"
}

Java:

loadingStateView.updateView(ViewType.LOADING, (LoadingViewDelegate delegate) -> {
   delegate.msg = "正在加载,请稍后";
});
crazyzjw commented 2 years ago

如果一个接口返回先是网络错误,再接口报错,那就很尴尬了..还要判断是不是第一次调用才确定是否用updateview吗

DylanCaiCoding commented 2 years ago

你先这样来用一下:

fun showErrorView(errorMsg: String) {
  loadingStateView.showErrorView()
  loadingStateView.updateView<ErrorViewDelegate>(ViewType.ERROR) {
    msg = errorMsg
  }
}

我迟点再把这个逻辑优化了。

crazyzjw commented 2 years ago

好的,thx