项目位置未在 onBind 方法中更新

Item position not updating in onBind method

我正在实现接口来检测何时在回收站视图中单击视图。单击按钮时我正在删除该项目。单击一次按钮时它工作正常。但是,当我第二次单击时,它会删除旁边的视图。

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

    holder.delete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            optionsClickEvent.onDeleteClicked(position, imagePath);
            showToast(String.valueOf(position));
        }
    });

}

以上代码在onBind中执行。接下来我要删除:

@Override
public void onDeleteClicked(int position, ArrayList<String> filePath) {
    filePath.remove(position);
    imageAdapter.notifyItemRemoved(position);
}

这一次就完美了。但是项目没有更新。当我第二次单击删除按钮时,该项目在位置 +1 处被删除。

用户 holder.getAdapterPosition() 而不是 onClick 中的布局位置

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

holder.delete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        optionsClickEvent.onDeleteClicked(holder.getAdapterPosition(), imagePath);
        showToast(String.valueOf(position));
    }
});

}