[英]Adding new item to the top of the RecyclerView
我正在以編程方式向recyclerview位置0添加一個項目
public void addQuestion(Question question){
this.questionList.add(0, question);
notifyItemInserted(0);
}
這項工作非常好,項目確實出現在頂部的列表中,但用戶必須向上滾動才能看到新項目。
是否有任何技巧如何項目出現在頂部,Recyclerview自動滾動?
那么你可以使用mRecyclerView.smoothScrollToPosition(int position)
例:
public void addQuestion(Question question){
this.questionList.add(0, question);
notifyItemInserted(0);
mRecyclerView.smoothScrollToPosition(0);
}
更新:
如果你想讓滾動到某個項目非常順利,你可以看看這個問題的答案
是的,你可以這樣做
mRecyclerView.smoothScrollToPosition(0);
試試這個
mRecyclerView.smoothScrollToPosition(0);
如果我理解正確,你問題是你已經滾動到列表頂部,但插入時你必須再次滾動查看項目,你可以嘗試我的方法來避免它。
根據我的經驗,插入后滾動的方法可行,但動畫看起來並不自然。
如果您真的想保存動畫,可以嘗試一種方法,幫助我完成項目:使用多類型回收器。 在適配器的0位置顯示第二種類型的附加項目。 這個項目可以只是一個帶有小填充,標題(如果需要)甚至是空視圖的視圖。 然后,notifyItemInserted(1),你會得到很好的插入動畫。
注意:此方法可能會增加項目的復雜性,並需要有關多類型回收站視圖的知識。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.