2017-10-17 71 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()在視圖模型再次被調用。

相關問題