Why Does My Activity Doesn't See An Observed Object Change?
I'm new to Android development and i am trying to understand Live Data with MVVM architecture. I am trying to make the main activity recognize when there is a change in an object t
Solution 1:
here your problem is with repository code inside repository you are creating new object of mutable live data and observing different one.
InterfaceCallback{
    onSuccess(String response)
    onError(String error)
}
publicvoidlogin(String username , String hashedPassword,Callback callback){
    final MutableLiveData<String> loggedInUser = newMutableLiveData<>();
    User user = newUser(username,hashedPassword);
    usersRepositoryApi.login(user).enqueue(newCallback<String>() {
        @OverridepublicvoidonResponse(Call<String> call, Response<String> response) {
            if (response.isSuccessful()) {
                callback.onSuccess(response.body());
            }
        }
        @OverridepublicvoidonFailure(Call<String> call, Throwable t) {
            callback.onError(null);
        }
    });
}
//login method of your viewmodel publicvoidlogin(String userName , String hashedPassword) {
     usersRepository.login(userName, hashedPassword,newCallback(){
          voidonSuccess(String responsebody){
               loggedInUser.setValue(responsebody);
          }
          voidonError(String error){
               loggedInUser.setValue(responsebody);
          }
     });
}
Post a Comment for "Why Does My Activity Doesn't See An Observed Object Change?"