我正在使用最新的RecyclerView库来显示一个列表,其中包含一个选项,可以将项目添加到此列表中。该列表的顺序相反,因此最新的添加内容显示在底部。从顶部向回收者视图添加新项目时,会显示一个漂亮的动画,并自动滚动列表以显示最新项目。
但是,从底部添加新项目时,在动画新项目时,项目的推送方式不同。这会导致奇怪的行为,即添加新项目并且除非用户滚动到列表底部,否则无法看到动画。
作为临时修复,我在添加新项目后强制循环器视图适配器滚动到第一个位置。这不像从回收者视图的顶部添加那样无缝,是否有适当的方法来实现它?
相应的代码如下:
la.addItem(0, msg);
layoutManager.scrollToPosition(0);
答案 0 :(得分:0)
将此功能添加到适配器类中
public void addItem(Object aObject)
{
mAdapterList.add(aFormElement);
notifyItemInserted(mAdapterList.size()); // Passing position where insertion happen
}
如果不获取动画,则仅使用以下功能。 在调用addItem()之后,尝试调用滚动到recyclerview上所需位置的位置。