我的應用程序集成與MVVM +改造+匕首調用onChanged功能在Android的MVVM第二個呼叫
,當涉及到視圖模型我已經使用MutableLiveData與片段註冊觀察者和視圖模型
行爲異常因此,當視圖加載它調用視圖模型和調用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");
}
}
});
因此,對於第一次正確地調用和登錄成功,但是讓說,如果我再次按下按鈕,首先它打印在片段中的成功,然後再次將打印成功
任何想法,對這種不尋常行爲。