diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt index f53e80b..9aacca2 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt @@ -59,6 +59,7 @@ class SamplingListActivity : BaseActivity() { lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { appViewModel.cookFoodListState.collect { cookFoodEntities -> + if (binding.dishRadioGroup.checkedRadioButtonId != R.id.rbSamplingCooking) return@collect delayDismissLoading() if (cookFoodEntities.isNullOrEmpty()) { loadEmptyView() @@ -89,8 +90,18 @@ class SamplingListActivity : BaseActivity() { netViewModel.samplingListState.collect { state -> when (state) { 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 -> { + if (binding.dishRadioGroup.checkedRadioButtonId != R.id.rbSamplingFinished) { + delayDismissLoading() + return@collect + } binding.refreshLayout.setEnableRefresh(true) toast(state.msg) finishRefresh() diff --git a/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt b/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt index 0e4bfaf..ed48d26 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt @@ -146,8 +146,15 @@ class DishListFragment : BaseFragment() { if (isAdded.not()) return@collect toast(networkState.msg) finishRefresh() - if (pageNo == 1) loadEmptyView() activity.delayDismissLoading() + if (pageNo == 1) { + // 网络异常或接口不通时,降级使用本地数据;本地也为空才显示空视图 + if (localList.isNullOrEmpty()) { + loadEmptyView() + } else { + loadAndMergeDishList(null, localList) + } + } } is UiState.Idle -> {} } diff --git a/app/src/main/res/layout/activity_submit_food.xml b/app/src/main/res/layout/activity_submit_food.xml index cdde97f..41ed38e 100644 --- a/app/src/main/res/layout/activity_submit_food.xml +++ b/app/src/main/res/layout/activity_submit_food.xml @@ -55,7 +55,7 @@ android:layout_height="wrap_content">