Android: несоответствие типов переменной LiveData

У меня есть следующее в моей модели представления:

// hold the list of comments of a Post
private val _commentsOfPost = MutableLiveData<PagedList<Comment>>()

val commentsOfPost : LiveData<PagedList<Comment>> = _commentsOfPost

fun getCommentsOfPost(postId: Long){
     _commentsOfPost.value = commentRepository.getCommentsOfPost(postId)   // <--- TYPE MISMATCH
}

Итак, что происходит, так это то, что всякий раз, когда getCommentsOfPost() вызывается фрагментом, он извлекает PagedList из Comment экземпляров, принадлежащих Post, указанному его идентификатором.

Но Android сообщает мне о Type mismatch (см. стрелку в фрагменте кода выше):

Required: PagedList<Comment>?
Found: LiveData<PagedList<Comment>>

Для полноты картины это интерфейс getCommentsOfPost():

fun getCommentsOfPost(postId: Long) : LiveData<PagedList<Comment>>

Как я могу изменить его, чтобы эта ошибка исчезла?


person abdullah celik    schedule 03.09.2020    source источник


Ответы (1)


Вы должны вернуться к PagedList, образец:

fun getCommentsOfPost(postId: Long) : PagedList<Comment> {
   // your code
   // return PagedList<Comment>
}
person Cường Nguyễn    schedule 04.09.2020