Я следовал приведенному ниже шаблону:
Livedata<pojo>method.onobserverForEach(){
if(pojo.getvalaue == true){
will make api call
ex callApi
} else {
fetch from DB
}
}
private void callApi(){
api call
clear some accounts in db
}
При очистке обратного вызова я вставлю, а при вставке я сделаю pojo.setvalaue
равным false, чтобы мой onchange сработал. Приведенные выше логики c будут работать только в первый раз.
Во второй раз, когда я вхожу в этот лог c, я снова получаю pojo.getvalaue
как истину. Таким образом, в соответствии с приведенным выше логом c, я буду вызывать API, а затем clear будет выполнять сброс во второй раз при внезапном вызове onchange
. Может кто-нибудь сказать мне, почему onChange
в идеальном случае при вызове должен вызывать после pojo.setvalaue
значение false. Это мое понимание, но во второй раз он вызывает изменения сразу после очистки учетной записи в db.
Я новичок в MVVM и в концепциях обработки живых данных.