- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我实现了 PositionalDataSource,它定义了 loadInitial
和 loadRange
。分页工作正常,但在某些边界条件下(可能与退出屏幕时正在加载下一页有关)应用程序崩溃,并显示 androidx.paging.ContigouslyPagedList$1.onPageError (ContigouslyPagedList.java:153)
。然而每https://developer.android.com/reference/android/arch/paging/PositionalDataSource我的源不连续?
在 ContigeousPagedList 的 onPageError 下发生崩溃,与“todo”一致:
public void onPageError(@PageResult.ResultType int resultType,
@NonNull Throwable error, boolean retryable) {
LoadState errorState = retryable ? LoadState.RETRYABLE_ERROR : LoadState.ERROR;
if (resultType == PageResult.PREPEND) {
mLoadStateManager.setState(LoadType.START, errorState, error);
} else if (resultType == PageResult.APPEND) {
mLoadStateManager.setState(LoadType.END, errorState, error);
} else {
// TODO: pass init signal through to *previous* list
throw new IllegalStateException("TODO");
}
}
我的配置没有使用占位符,并且我没有将总计数传递到 LoadInitialCallback
的 onResult
中。分页库版本为2.1.1
最佳答案
至少目前(版本 2.1.1)没有好的、干净的解决方案。
ContigeousPagedList 不支持初始化错误处理。您必须实现并行流来加载状态和自定义重试。
参见示例in the official architecture components samples library 。Yigit Boyar 通过返回自定义实现了几个流 Listing来自存储库的对象。
data class Listing<T>(
// the LiveData of paged lists for the UI to observe
val pagedList: LiveData<PagedList<T>>,
// represents the network request status to show to the user
val networkState: LiveData<NetworkState>,
// represents the refresh status to show to the user. Separate from networkState, this
// value is importantly only when refresh is requested.
val refreshState: LiveData<NetworkState>,
// refreshes the whole data and fetches it from scratch.
val refresh: () -> Unit,
// retries any failed requests.
val retry: () -> Unit)
查看数据源here的实现
经过多次不同的尝试,我最终从架构的核心部分中删除了 Jetpack,并将其仅保留在 View 模型中,现在对我来说看起来干净多了。您可以阅读here
关于android - 当我不使用 ContigouslyPagedList 时,ContigouslyPagedList onPageError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59973742/
我实现了 PositionalDataSource,它定义了 loadInitial 和 loadRange。分页工作正常,但在某些边界条件下(可能与退出屏幕时正在加载下一页有关)应用程序崩溃,并显示
我是一名优秀的程序员,十分优秀!