我正在努力解决这个错误,该错误仅在我处于夜间模式(我正在使用 Theme.MaterialComponents.DayNight)和旋转屏幕时发生......在白天模式下它工作正常,没有问题。
尝试从空对象引用上的字段“float android.content.res.Configuration.fontScale”读取
我不知道它来自哪里,我没有使用任何自定义字体。
我有一个 pagingData 流对象,我想将其与不同的融合位置流组合起来,以便它将根据 pagingdata 列表的每个项目进行相应的处理。
val point : Flow<Point>
val pagingDate : Flow<PagingData>
Run Code Online (Sandbox Code Playgroud)
我尝试使用组合和组合变换,但它似乎不起作用,因为当更新应用程序崩溃时,并显示与 pagingData 3 相关的错误消息不能发出两次
java.lang.IllegalStateException: 尝试从pageEventFlow收集两次,这是非法操作。您是否忘记调用 Flow<PagingData<*>>.cachedIn(coroutineScope) ?
我可以选择哪些选项来使用流数据转换分页数据项?
我正在使用
navController.navigate(R.id.FragmentB) 从 MainActivity 中的主机片段导航到不同的片段,它按预期工作,除了在 onActivityResult 内它不会响应,我正在从其他活动返回一个 ID 并想要根据该 ID 导航到 Fragments 但它没有响应,
android android-intent onactivityresult android-architecture-navigation
我正在使用扩展函数将列表数据绑定到 recyclerview ,使用 pagedlist 它不需要任何协程
@BindingAdapter("pagedListAdapterData")
fun <T : Any> submitPagedList(recyclerView: RecyclerView, list: PagedList<T>?) {
if (list != null && recyclerView.adapter is PagedListAdapter<*, *>) {
(recyclerView.adapter as? PagedListAdapter<T, RecyclerView.ViewHolder>)?.submitList((list))
}
}
pagedListAdapterData="@{viewModel.list}"
Run Code Online (Sandbox Code Playgroud)
但随着我升级到 Paging 3.0,它需要使用协程
@BindingAdapter("pagingDataAdapter")
fun <T : Any> submitPagingDataList(recyclerView: RecyclerView, list: PagingData<T>?) {
if (list != null && recyclerView.adapter is PagingDataAdapter<*, *>) {
GlobalScope.launch {
(recyclerView.adapter as? PagingDataAdapter<T, RecyclerView.ViewHolder>)?.submitData((list))
}
}
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我担心的是 Globalscope 的使用,似乎有更好的方法来做到这一点,因为不推荐 globalScope
android kotlin kotlin-extension android-paging kotlin-coroutines
android ×4
kotlin ×2
android-architecture-navigation ×1
kotlin-flow ×1
lifecycle ×1
rotation ×1
themes ×1