0

我想创建U我使用的聊天应用程序,ViewModel但是当我发送按钮时ViewModel更新列表但LayzColumn不更新它的数据。我不知道为什么它不起作用。

我的聊天视图模型

class ChatViewModel: ViewModel() {
    private val _messages: MutableLiveData<MutableList<String>> = MutableLiveData(mutableListOf(""))

    val messages: LiveData<MutableList<String>> get() = _messages

    fun add(message: String) {
        _messages.value?.add(message)
        Log.d("Haha", "${_messages.value?.size}")
        _messages.notifyObserver()
    }

}

fun <T> MutableLiveData<T>.notifyObserver() {
    this.value = value
}

我的懒人专栏

val messages by chatViewModel.messages.observeAsState(mutableListOf(""))


LazyColumn(modifier = Modifier
            .fillMaxWidth()
            .weight(1f)
        ) {
            items(messages.toList()) { message ->
                SenderChat(message = message)
            }

        }
4

0 回答 0