如何解决Android kotlin mvvm 更新实时数据
如何在 kotlin 中更新可变的实时数据
以下是我在 viewModel 中的实体
private val searchResult = MutableLiveData<Resource<SearchResult?>>()
以下是searchResult pojo
data class SearchResult(
@field:SerializedName("Response")
val response: String? = null,@field:SerializedName("totalResults")
val totalResults: String? = null,@field:SerializedName("Search")
val search: MutableList<SearchItem?>? = null
)
@Entity(tableName = "searchitem")
data class SearchItem(
@ColumnInfo(name = "type")
@field:SerializedName("Type")
var type: String = "",@ColumnInfo(name = "year")
@field:SerializedName("Year")
var year: String = "",@ColumnInfo(name = "id")
@PrimaryKey
@field:SerializedName("imdbID")
var imdbID: String = "",@ColumnInfo(name = "poster")
@field:SerializedName("Poster")
var poster: String = "",@ColumnInfo(name = "title")
@field:SerializedName("Title")
var title: String = "",@ColumnInfo(name = "isfav")
var isFav: Boolean = false
)
我想更新索引 MutableList
解决方法
例如,您的 ViewModel
应该有两个值
class SearchViewModel() : ViewModel() {
private val _searchResult = MutableLiveData<Resource<SearchResult?>>()
val searchResult: LiveData<MutableList<Resource<SearchResult?>>>
get() = _searchResult
fun updateItem(index: Int){
_searchResult.value?[index] = do whatever here
_searchResult.value = _searchResult.value
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。