我事先道歉,我没有任何代码示例,因为我完全处于黑暗中以解决我的问题。我想知道,如何将列表的最后一项滚动到回收站视图的顶部位置?
默认情况下,如果所有项目都在显示,并且不需要滚动,则您无法再滚动查看更多项目。与此冲突的是,我正在根据最顶层的项目更新单独视图的信息。
对此有何想法?我唯一能想到的是添加任意的假空数据,以便我可以继续滚动。提前致谢
更新:除虚拟数据之外的最佳替代解决方案是向RecyclerView添加填充。如果我添加paddingBottom,则在滚动到最后一项之前,您看不到空白区域。但填充必须精确,以迫使最后一个项目到顶部位置。所以,即使这是有缺陷的。
<android.support.v7.widget.RecyclerView
android:clipToPadding="false"
android:paddingBottom="300dp"
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:scrollingCache="false"/>
答案 0 :(得分:0)
好的,我能够让它发挥作用。首先,我在onBindViewHolder
中测量适配器中项目的大小holder.llWrapper.measure(0,0);
我从那里得到了myMeasuredHeight()并将其从我的适配器传递回我的片段。然后我测量回收器视图高度。我减去了Recyclerview和项目的高度,剩余部分是我需要设置底部到recyclerview的填充量
rv.setPadding(0,0,0,padding);
这是我能想到的最好的。干杯!