2017-10-17 80 views
0

我有一个实时更新对象的列表(每秒一次)。我已经设计我的应用程序使用MVVM架构和Android数据绑定库使用实时数据更新Recycler视图

我已经将视图模型绑定到视图,并且每次重新加载活动时都会更新正常,但无论如何都要通知视图模型该模型数据已经更新并且实时更新视图?

我已经尝试过实现BaseObservable接口和ObservableFields,但我仍然得到相同的结果。

可能还有一些RxJava技术,我可以用我虽然不熟悉RxJava所以任何指针的例子解决了类似的问题将是有益的

感谢

+0

请参阅[分页](https://developer.android.com/topic/libraries/architecture/paging.html)库,请注意'LivePagedListProvider','PagedListAdapter'和'DataSource'('TiledDataSource' /'KeyedDataSource') – pskink

+0

@pskink谢谢你的建议,问题是分页库是新的体系结构组件库的一部分,我不想在我的应用程序中使用它,因为它仍然处于alpha阶段 – d199224

+0

艰难的工作来实现哟自己,请检查:https://mag.n26.com/reactive-clean-architecture-with-android-architecture-components-685a6682e0ca –

回答

0

为了获取视图更新基于视图模型的变化,你只需要拨打notifyChange(如果您已实施BaseObservable)或notifyPropertyChange。要让ViewModel知道模型已更新,您可以使用RxJava或实现您自己的界面。

如果您正在使用的ContentProvider(和CursorLoader,例如),contentProviders也可以拨打 getContext().getContentResolver().notifyChange(uri, null) 通知,该模型已经改变(这将导致onLoadFinished()在视图模型再次被调用。

相关问题