私のアプリケーションそれはViewModelにに来るとき、私は断片とオブザーバーを登録するMutableLiveDataを使用しているonChangedイベント機能は、第二アンドロイドMVVMでの通話
MVVM +改造+短剣と統合し、ViewModelに
は珍しい振る舞いますビューがロードされると、ビューモデルが呼び出され、Webサービスが呼び出されます。onChnaged
オブザーバの機能によってデータが破棄されますが、ボタンをクリックして同じ機能を呼び出すと、ここでコードサンプルが異常です。
にこの珍しいのための任意のアイデアを出力言うことができます初めてだから、
ViewModel
private MediatorLiveData<Resource<PostCartResponse>> postCartResponse
= new MediatorLiveData<>();
public LiveData<Resource<PostCartResponse>> postProductToCart(
final PostCart postCart) {
postCartResponse.addSource(this.cartRepository.postCart(postCart),
new Observer<Resource<PostCartResponse>>() {
@Override
public void onChanged(@Nullable Resource<PostCartResponse> response) {
postCartResponse.setValue(response);
}
});
return postCartResponse;
}
Fragment
productDetailsViewModel.postProductToCart(new PostCart(1, generatedSku))
.observe(this, new Observer<Resource<PostCartResponse>>() {
@Override
public void onChanged(@Nullable Resource<PostCartResponse> response) {
if (response.status == Status.SUCCESS) {
Timber.d("SUCCESS");
} else if (response.status == Status.INVALID_DATA) {
Timber.d("FAIL");
}
}
});
行動。