2017-08-12 48 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中删除或更新时它不会调用 –

相关问题