Android 为什么零食的文本只显示一次?
下面的代码基于项目架构示例,您可以看到它 在我看来,UI将首先显示带有R.string.description\u提示的零食文本,然后显示带有R.string.empty\u task\u消息的零食文本 但我发现只有显示带有R.string.empty_task_消息的零食文本,如何修复它 TasksFragment.kt TasksViewModel.ktAndroid 为什么零食的文本只显示一次?,android,kotlin,Android,Kotlin,下面的代码基于项目架构示例,您可以看到它 在我看来,UI将首先显示带有R.string.description\u提示的零食文本,然后显示带有R.string.empty\u task\u消息的零食文本 但我发现只有显示带有R.string.empty_task_消息的零食文本,如何修复它 TasksFragment.kt TasksViewModel.kt 您可以使用Snackbar.Callback。您可以拥有一个列表,其中包含要显示的消息、一个调用以显示snackbar消息的函数,以及一个
您可以使用Snackbar.Callback。您可以拥有一个列表,其中包含要显示的消息、一个调用以显示snackbar消息的函数,以及一个从回调调用snackbar onDismiss以触发显示snackbar消息以及消息列表中的下一条消息时要更新的livedata.g。指数+1
private fun setupSnackbar() {
view?.setupSnackbar(this, viewModel.snackbarText, Snackbar.LENGTH_SHORT)
viewModel.setMy1()
//Wait until UI updated
viewModel.setMy2()
}
class TasksViewModel(
private val tasksRepository: TasksRepository,
private val savedStateHandle: SavedStateHandle
) : ViewModel() {
private val _snackbarText = MutableLiveData<Event<Int>>()
val snackbarText: LiveData<Event<Int>> = _snackbarText
fun setMy1(){
_snackbarText.value=Event(R.string.description_hint)
}
fun setMy2(){
_snackbarText.value=Event(R.string.empty_task_message)
}
...
}