我如何将新项目添加到MutableLiveData列表中? 我想构建一个无限滚动的Recyclerview。 因此,我有一个包含10个项目的列表,并且在单击“加载更多”按钮后,我想添加另外10个项目。
这是我的产品列表:
private companion object {
private var _products = MutableLiveData<MutableList<Product>>()
}
val products: LiveData<MutableList<Product>> = _products
这是我的加载函数:
fun loadProducts(category: Category) { // category: String
_isViewLoading.postValue(true)
AppService.fetchProducts(category, neuheitenCounter) { success, response ->
_isViewLoading.postValue(false)
if(success) {
when(category) {
Category.NEWS -> {
if(_products.value == null) {
_products.value = response?.products //as List<Product>
} else {
response?.let {
_products.value?.addAll(response?.products)
}
}
neuheitenCounter++
}
}
}
}
}
如果我调用
_products.value = response?.products
,它会触发Activity中的observe方法。但是,如果我调用addAll
或add
,观察者方法不会被调用。