实际上,我使用 API 中的 liveData+retrofit 得到了响应,在第一次尝试中一切正常。如果再次调用相同的 API,它首先显示先前的响应,然后新的响应覆盖之前的响应。我调试代码并且它发生是因为当我进入片段时调用 Live data onChanged 方法,因此显示了第一次尝试时获得的先前 pojo 结果。一段时间以来,它显示了最后一个结果,一旦 API 响应出现,实际响应就会加载到回收站视图。
viewModel.getMutuableData().observe(getActivity(), new Observer<Model>() {
@Override
public void onChanged(@Nullable Model model) {
list.clear();
if (model.getResult()) {
list.addAll(model.getCategoryList());
}
adapter.notifyDataSetChanged();
}
});