2017-08-12 50 views
7
@Query("SELECT * FROM userdata") 
Flowable<List<UserData>> allUserDatas(); 

@Insert(onConflict = OnConflictStrategy.REPLACE) 
List<Long> insert(List<UserData> datas); 


userDao.allUserDatas() 
take(1). 
filter(....) 
    .subscribeOn(io()) 
    .observeOn(mainThread()) 
    .subscribe(userDatas -> Log.i("TAG",""+userDatas)); 

我添加了在onAttach(同一片段訂閱獲取更新),但DB更新後,它不調用從數據庫,獲取認購爲什麼爲什麼定義懸浮劑我無法接受的DB

+0

請發佈代碼片段。 – theFunkyEngineer

回答

6

我發現了這個問題。

這是因爲take(1),因爲它是完整的,這就是爲什麼我不能聽變化。刪除take(1)固定的。

3

看起來您必須將您的Flowable allUserDatas()添加到CompositeDisposable的實例,然後您的訂閱將保持活動狀態,直到您在CompositeDisposable上調用清除。

+0

不,它不起作用,當我第一次打開它的工作片段時,但是當我在那個片段上並且在DB中刪除或更新時它不會調用 –

相關問題