Неправильный тип поля поддержки KotlinAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Неправильный тип поля поддержки Kotlin

Сообщение Anonymous »

Модель просмотра

Код: Выделить всё

private val _wordPressPostsState = Channel()

val wordPressPostList: List
field = mutableListOf()
Внутри функции, вызывающей вариант использования, возвращающий поток

Код: Выделить всё

when (it) {

is RequestStatus.Success -> {
if (it.data.postList.isNotEmpty()) {
wordPressPostList.addAll(it.data.postList)
}
_wordPressPostsState.send(WordPressPostsState.FetchSuccess(wordPressPostList.toList()))
}

}
Фрагмент

Код: Выделить всё

val newsAdapter: ListAdapter

newsAdapter.submitList(state.postList)
ListAdapter не будет работать без вызова .toList() для state.postList или wordPressPostList при передаче его в состояние WordPressPostsState.FetchSuccess< /код> в ViewModel. Это означает, что wordPressPostList по-прежнему является MutableList.
Одна вещь, которую я заметил, это то, что тип данных был показан как List внутри и снаружи, но на самом деле он ведет себя как изменяемый в ViewModel и неизменяемый во фрагменте, аналогичный тому, что указан в документации.

Подробнее здесь: https://stackoverflow.com/questions/786 ... wrong-type
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»