Java 如何更新RecyclerView中项目的位置?
我正在尝试向待办事项列表中添加一个功能,该功能会导致“选中”项位于列表的底部。我正在使用Java 如何更新RecyclerView中项目的位置?,java,android,Java,Android,我正在尝试向待办事项列表中添加一个功能,该功能会导致“选中”项位于列表的底部。我正在使用ArrayList保存使用RecyclerView组织的项目,因此我知道关键是更新位置,但我不确定如何做到这一点 我搞不懂你怎么把所有的东西都往上移一步,然后把选中的项目放在最后一个位置,这样它就在列表的底部了 这就是我如何进行复选框和取消复选框的操作: taskCheckBox.setOnClickListener(new View.OnClickListener() {
ArrayList
保存使用RecyclerView
组织的项目,因此我知道关键是更新位置,但我不确定如何做到这一点
我搞不懂你怎么把所有的东西都往上移一步,然后把选中的项目放在最后一个位置,这样它就在列表的底部了
这就是我如何进行复选框和取消复选框的操作:
taskCheckBox.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
if (holder.taskCheckBox.isChecked())
{
bucketItem.setSelected(false);
holder.taskCheckBox.setChecked(false);
}
else
{
bucketItem.setSelected(true);
holder.taskCheckBox.setChecked(true);
}
}
});
我不知道我会添加什么来更新职位,我仍然对我如何始终知道“底部”是什么感到困惑,因为列表中没有固定数量的项目。Android团队添加了对此类操作的支持。查看DiffUtils: 简而言之,您只需要提供一个适当的数据集,并让库找出发生了什么变化 如果仍要手动执行此操作,则需要执行以下操作:
请查看此a-list-to-end]。这说明了如何将项移动到ArrayList的末尾。这只是对该列表执行的“删除”和“添加”操作。可能您必须通知视图数据已被删除changed@ZeusNet谢谢你的链接!这对我很有帮助。你能把你说的安卓系统的东西扩展一下吗?这是我有史以来第一个安卓系统项目因此,我仍在学习术语。问题是您正在更改视图的数据,因此视图也应该得到更新。为此,您的RecycleView的适配器有一些方法可以通知您。例如,有一个方法。但该方法也可能是一个很好的选择