Tak*_*aki 9 android kotlin android-viewmodel android-jetpack-compose
我正在使用 jetpack compose 制作一个待办事项应用程序,我可以添加待办事项,但是当从数据库获取它们时,我收到了与 Courtine 相关的错误,但我无法得到,我需要帮助,谢谢
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@4c0bd0e, androidx.compose.ui.platform.MotionDurationScaleImpl@67ef32f, StandaloneCoroutine{Cancelling}@7800d3c, AndroidUiDispatcher@df61ac5]
Run Code Online (Sandbox Code Playgroud)
fun showTasks() = viewModelScope.launch {
try {
dataState = dataState.copy(loading = true)
todoRepository.getTasks().collectLatest {
dataState = if(it != null){
dataState.copy(data = it)
} else {
dataState.copy(error = "List is empty ...")
}
}
}catch (ex : Exception){
dataState = dataState.copy(error = ex.localizedMessage)
} finally {
dataState = dataState.copy(loading = false)
}
}
Run Code Online (Sandbox Code Playgroud)
@Composable
fun HomeScreen(navController: NavController,
todoViewModel: TodoViewModel = hiltViewModel()
) {
val state = todoViewModel.dataState
val context = LocalContext.current
todoViewModel.showTasks()
if(state.error != null){
Toast.makeText(context,state.error,Toast.LENGTH_LONG).show()
} else {
Column(modifier = Modifier.fillMaxSize()) {
Row(modifier = Modifier.fillMaxWidth()){
Text("Reminder",modifier = Modifier
.fillMaxWidth()
.weight(1f)
.padding(top = 10.dp, start = 20.dp), fontSize = 20.sp, fontWeight = FontWeight.Bold)
IconButton(onClick = { navController.navigate(ScreenNavigation.Add.route)}) {
Icon(imageVector = Icons.Filled.Add, contentDescription = null, tint = Color.Black)
}
}
LazyColumn(modifier = Modifier.padding(top = 10.dp, start = 20.dp, end = 20.dp, bottom = 40.dp)){
items(state.data!!.size){ index ->
Row(modifier = Modifier
.fillMaxWidth()
.height(60.dp)) {
Text(text = state.data!![index].task!!, modifier = Modifier.weight(1f), fontSize = 19.sp, fontWeight = FontWeight.Bold)
Text(text = state.data!![index].time!!, fontSize = 17.sp, fontWeight = FontWeight.W500)
}
}
}
if(state.loading == true){
CircularProgressIndicator()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3268 次 |
| 最近记录: |