簡體   English   中英

如何在 kotlin 中添加列表

[英]How to prepend list in kotlin

嘿,我想在 kotlin 的列表中添加項目。 我正在嘗試添加項目,但不幸的是,我遇到了錯誤,有人可以指導我如何做到這一點。

val prepareMutableLiveData: MutableLiveData<List<ConversationCount>> = MutableLiveData(
            emptyList()
        )

fun formatData() {
        val conversationCount = mutableListOf<ConversationCount>()
        viewModelScope.launch {
            dateRange.forEachIndexed { index, dateRangeValue ->
                val findData = data?.find {
                    dateRangeValue == it.dateObject
                }
                conversationCount.add(
                    ConversationCount(
                        setDay(dateRangeValue),
                        index,
                        findData != null
                    )
                )
            }
            prepareMutableLiveData.value = mutableListOf(conversationCount) + prepareMutableLiveData.value
        }
    }

我收到錯誤

Type mismatch.
Required:
ConversationCount
Found:
List<ConversationCount>?
Type mismatch.
Required:
List<ConversationCount>?
Found:
List<List<ConversationCount>?>
Type mismatch.
Required:
ConversationCount
Found:
MutableList<ConversationCount

在此處輸入圖像描述

我試過這個

prepareMutableLiveData.value = conversationCount + prepareMutableLiveData.value

它給出了錯誤

Type mismatch.
Required:
ConversationCount
Found:
List<ConversationCount>

由於conversationCount已經是一個列表,並且您的實時數據也是一個列表,即MutableLiveData<List<ConversationCount>>您可以簡單地使用下面的代碼。

prepareMutableLiveData.value = conversationCount + prepareMutableLiveData.value.orEmpty()

這里的orEmpty()是為了 null 安全。 你也可以用!! 但它不安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM