2017-10-17 5 views
0

나는 실시간으로 (1 초에 1 회) 업데이트중인 개체의 목록을 가지고 있습니다. MVVM 아키텍처와 Android DataBinding 라이브러리를 사용하도록 앱을 디자인했습니다.실시간 데이터로 Recycler보기 업데이트

뷰 모델을 뷰에 바인딩 했으므로 작업을 다시로드 할 때마다 모든 것이 잘 업데이트되지만보기 모델에 모델이 있다는 것을 알려주기 위해 어쨌든 존재합니다 데이터가 업데이트되었고 실시간으로보기가 업데이트 되었습니까?

BaseObservable 인터페이스와 ObservableFields를 구현하려고했지만 여전히 동일한 결과가 나타납니다. 내가 RxJava에 해당하므로, 어떠한 포인터를 익숙하지 않지만 나는 비슷한 문제를 해결하는 예제로 사용할 수 있습니다

아마 일부 RxJava 기술보기를 얻기 위해 도움이

감사

+0

[페이징] (https://developer.android.com/topic/libraries/architecture/paging.html) 라이브러리를보고'LivePagedListProvider','PagedListAdapter' 및'DataSource' ('TiledDataSource' /'KeyedDataSource')에주의하십시오. – pskink

+0

제안을 주셔서 감사합니다 @ pskink, 문제는 페이징 라이브러리가 새로운 아키텍처 구성 요소 라이브러리의 일부이며 여전히 내 응용 프로그램에서 아직 알파 단계에있는 그대로 사용하고 싶지 않다는 것입니다 – d199224

+0

요 urself, 이것을 확인하십시오 : https://mag.n26.com/reactive-clean-architecture-with-android-architecture-components-685a6682e0ca –

답변

0

것 뷰 모델 변화에 따라 업데이트하려면 notifyChange (BaseObservable을 구현 한 경우) 또는 notifyPropertyChange으로 전화하면됩니다. 모델이 업데이트되었음을 ​​ViewModel에 알리려면 RxJava를 사용하거나 사용자 고유의 onModelChanged 인터페이스를 구현할 수 있습니다.

(예를 들어, 및 CursorLoader) 컨텐트 프로를 사용하는 경우, contentProviders도 getContext().getContentResolver().notifyChange(uri, null) 가) (onLoadFinished 발생한다 ViewModel에 다시 호출되고있는 (모델이 변경된 것을 알리기 위해 호출 할 수 있습니다.