fix(activity): 修复采样与菜品列表页异常场景的数据展示
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -59,6 +59,7 @@ class SamplingListActivity : BaseActivity() {
|
|||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||||
appViewModel.cookFoodListState.collect { cookFoodEntities ->
|
appViewModel.cookFoodListState.collect { cookFoodEntities ->
|
||||||
|
if (binding.dishRadioGroup.checkedRadioButtonId != R.id.rbSamplingCooking) return@collect
|
||||||
delayDismissLoading()
|
delayDismissLoading()
|
||||||
if (cookFoodEntities.isNullOrEmpty()) {
|
if (cookFoodEntities.isNullOrEmpty()) {
|
||||||
loadEmptyView()
|
loadEmptyView()
|
||||||
@@ -89,8 +90,18 @@ class SamplingListActivity : BaseActivity() {
|
|||||||
netViewModel.samplingListState.collect { state ->
|
netViewModel.samplingListState.collect { state ->
|
||||||
when (state) {
|
when (state) {
|
||||||
is UiState.Loading -> showLoading()
|
is UiState.Loading -> showLoading()
|
||||||
is UiState.Success -> loadDishList(state.data)
|
is UiState.Success -> {
|
||||||
|
if (binding.dishRadioGroup.checkedRadioButtonId != R.id.rbSamplingFinished) {
|
||||||
|
delayDismissLoading()
|
||||||
|
return@collect
|
||||||
|
}
|
||||||
|
loadDishList(state.data)
|
||||||
|
}
|
||||||
is UiState.Error -> {
|
is UiState.Error -> {
|
||||||
|
if (binding.dishRadioGroup.checkedRadioButtonId != R.id.rbSamplingFinished) {
|
||||||
|
delayDismissLoading()
|
||||||
|
return@collect
|
||||||
|
}
|
||||||
binding.refreshLayout.setEnableRefresh(true)
|
binding.refreshLayout.setEnableRefresh(true)
|
||||||
toast(state.msg)
|
toast(state.msg)
|
||||||
finishRefresh()
|
finishRefresh()
|
||||||
|
|||||||
@@ -146,8 +146,15 @@ class DishListFragment : BaseFragment<FragmentDishListBinding>() {
|
|||||||
if (isAdded.not()) return@collect
|
if (isAdded.not()) return@collect
|
||||||
toast(networkState.msg)
|
toast(networkState.msg)
|
||||||
finishRefresh()
|
finishRefresh()
|
||||||
if (pageNo == 1) loadEmptyView()
|
|
||||||
activity.delayDismissLoading()
|
activity.delayDismissLoading()
|
||||||
|
if (pageNo == 1) {
|
||||||
|
// 网络异常或接口不通时,降级使用本地数据;本地也为空才显示空视图
|
||||||
|
if (localList.isNullOrEmpty()) {
|
||||||
|
loadEmptyView()
|
||||||
|
} else {
|
||||||
|
loadAndMergeDishList(null, localList)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
is UiState.Idle -> {}
|
is UiState.Idle -> {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="120dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="80dp"
|
android:layout_height="80dp"
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:layout_marginStart="30dp"
|
android:layout_marginStart="30dp"
|
||||||
|
|||||||
Reference in New Issue
Block a user