首先,我是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
方法。