diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt index 0a1e2719..7e921ed1 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt @@ -23,6 +23,15 @@ abstract class TimelinePageFragment<T : IdObject, out PI : PageInfo> : PageFragm tweets_recycler_view.layoutManager = layoutManager tweets_recycler_view.adapter = adapter tweets_recycler_view.itemAnimator = null + adapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() { + override fun onItemRangeInserted(positionStart: Int, itemCount: Int) { + if (positionStart == 0 && itemCount == 1 && + layoutManager.findFirstVisibleItemPosition() == 0 && + (layoutManager.getChildAt(0) != null || layoutManager.getChildAt(0).top == 0)) { + tweets_recycler_view.scrollToPosition(0) + } + } + }) } abstract fun onBindItemView(item: T, itemView: View) |