diff --git a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt index fa8d835..d35cf15 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt @@ -133,13 +133,26 @@ class TaskListFragment : BaseFragment() { // 已操作过的刷新不显示 loading(保持当前内容,避免黑屏) if (!hasActioned) showLoading() - // 通知跳转:有 taskIds 时不走 queryTaskIds,直接按 ID 构建列表 + // 通知跳转模式 val ids = filterTaskIds - if (ids != null && ids.isNotEmpty()) { - taskList = ids.map { TaskItem(id = it) } - Timber.d("任务列表: 通知模式, ${ids.size} 个任务") - if (taskList.isNotEmpty()) { + if (ids != null) { + if (ids.isNotEmpty()) { + taskList = ids.map { TaskItem(id = it) } + Timber.d("任务列表: 通知模式, ${ids.size} 个任务") + if (taskIndex >= taskList.size) taskIndex = taskList.size - 1 fetchCurrentDetail() + } else if (hasActioned) { + // 通知模式所有任务操作完毕 → 回首页 + tipDialog.show( + status = QuTipDialog.Status.SUCCESS, + title = "全部完成", + back = true, step = 1, countdown = 2, + onBack = { + if (isAdded && view != null) { + findNavController().popBackStack(R.id.homeFragment, false) + } + } + ) } else { showEmpty() } @@ -166,7 +179,10 @@ class TaskListFragment : BaseFragment() { title = "全部完成", back = true, step = 1, countdown = 2, onBack = { - if (isAdded && view != null) findNavController().popBackStack() + if (isAdded && view != null) { + // 直接回到首页(跳过中间可能的导航栈) + findNavController().popBackStack(R.id.homeFragment, false) + } } ) } else {