使用 Android Architecture Components,出現一個問題,LiveData的觀察者Obsever會被屢次調用。ide
個人寫法是url
private void loadData(FragmentActivity activity) { RfLoader.showLoading(activity); multiseriateDialogViewModel.doRequest(url, params).observe(activity, new Observer<List<T>>() { @Override public void onChanged(List<T> t) { if(t != null && !t.isEmpty()) { beans.clear(); beans.addAll(t); recyclerViewAdapter.notifyDataSetChanged(); } } }); }
即每調一次loadData,都會調一次LiveData的observe方法。code
查看observe方法的源碼發現,LiveData能夠註冊多個Observer。server
調用屢次observe方法會註冊屢次,個人寫法至關於重複註冊同一個observer屢次,固然會被回調屢次,致使數據重複blog