4. var page = 1 var isLoading = false var hasBeenReachedPageEnd = false var isInitialLoading = true fun showData(data: Data) { page++ hasBeenReachedPageEnd = checkPageEnd(data) adapter.setDataAndNotifyChanged(data) } if (!isLoading && !hasBeenReachedPageEnd) { repository .getData() .subscribe(object: Observer { override fun onNext(data: Data) { showData(data) } override fun onStart() { isLoading =
![画面状態を抽象化してテスタブル設計ライフを送ろう](https://cdn-ak-scissors.b.st-hatena.com/image/square/3a88281b2982c8b90ed3ec3b93b77a41a633162e/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fshibuyaapk17-170804105257-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)