AndroidアプリケーションでAndroidの新しいアーキテクチャコンポーネントを使用して製品リストを表示したいのですが、Android LiveData Modification prob
public class Products {
private List<ProductDetails> products = null;
private Integer onSaleCount;
private Integer total;
private Integer page;
.........................
}
Webサービスページネーションとのリストを返します:以下のようなProducts
という名前のPOJOクラスは、私がしている
@GET("/products/")
Call<Products> getProducts(@Query("page") int page)
したがって、各製品リストコールを、私は他のデータと1セット商品の一覧を取得しています。 私はすでにProductListRepository
で同じことを呼び出すメソッド定義されています:
public class ProductListRepository {
@Inject
ProductService mProductService;
public Products getProductList(int pageNo) {
.......................
..................
}
}
をしかし、私は古いものでProductDetails
のリストをマージし、またの値を更新したいので、私はProductViewModel
にLiveDataを設定するために、問題に直面していますProducts
の他の変数は、onSaleCount
,pageNo
のようになります。
public class ProductListViewModel extends ViewModel {
private final ProductListRepository mProductListRepository;
private MediatorLiveData<Products> mProducts;
public void getProductList(int pageNo) {
Products products = mProductListRepository.getProductList(pageNo);
if(products==null){
mProducts.setValue(products);
}else{
// **How to add old List and new List and set it to LiveData**
}
return mProducts;
}
}
誰も私を助けることができますか?
そこに 'MediatorLiveData'を使用する背景は何ですか?コードからは分かりません。 –
@Eugene Krivenja私はLiveDataを変更すると思います、私はMediatorLiveDataが必要です。必要でない場合は、解決策を教えてください。 –
のみ変更するには、 'MutableLiveData'で十分です。 –