Android LiveData Observer 屢次調用

使用 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