Прежде всего, я новичок в LiveData.Я нашел это на официальном сайте Android.
Исключением из этого поведения является то, что наблюдатели также получают обновление, когда они переходят из неактивного в активное состояние.Кроме того, если наблюдатель изменяется с неактивного на активный второй раз, он получает обновление только в том случае, если значение изменилось с момента последнего активирования.
Я хочу знать, как определить состояние,
public void doLogin(View view){
final LiveData<Pojo> liveData = loginViewModel.checkLoginAndgetUserData(email.getText().toString(),password.getText().toString());
liveData.observe(LoginActivity.this, new Observer<Pojo>() {
@Override
public void onChanged(@Nullable Pojo pojo) {
Boolean isValid = loginViewModel.isValid(pojo);
if(isValid){
Toast.makeText(LoginActivity.this, "Success", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(LoginActivity.this, "Failed", Toast.LENGTH_SHORT).show();
}
}
});
}
Вот мой код.Если пользователям впервые не удалось войти в систему и попытаться войти снова, то вызов метода onChanged
без данных изменился.Это время тост появляется снова.Через некоторое время, когда сетевой вызов завершен, затем снова onChanged
вызов метода.