问题描述
我正在尝试拖放。我有自定义的Recylerview,可以拉动刷新,而Scrll可以加载更多。现在,我正在尝试添加交换功能。没有页眉和页脚,它工作正常。但是,如果我启用标题,则会在recyclerview中额外创建一行。例如,我的数据平均有20个项目,如果启用标题,recycerview将创建21个项目。所以我要怎么做,如果标头已启用,请减去位置。但这是行不通的。我得到Chrome version: 86.0.4240.111 (x86_64)
Mozilla Firefox: version 82.0 (x86_64)
。如果启用了标头,我计划在数据中添加一个额外的项目。但是,如果这样做,我需要在许多地方进行更改。这将导致另一个问题。因此,我想执行此功能而不在数据中添加新值。
在此附上代码,以供您参考。
Arrayindexoutofboundsexception
我也尝试过。
@Override
public boolean onMove(@NonNull RecyclerView recyclerView,final RecyclerView.ViewHolder source,final RecyclerView.ViewHolder target) {
tempSource = getViewHolder(recyclerView,source).getAdapterPosition());
tempTarget = getViewHolder(recyclerView,target).getAdapterPosition());
mAdapter.onItemmove((tempSource.getAdapterPosition()),(tempSource.getAdapterPosition()));
return true;
}
private RecyclerView.ViewHolder getViewHolder(RecyclerView recyclerView,RecyclerView.ViewHolder viewHolder){
int actualPosition = viewHolder.getAdapterPosition();
if(customrecyclerView.isRefreshEnabled()){
actualPosition = actualPosition - 1;
}
viewHolder = recyclerView.findViewHolderForAdapterPosition(actualPosition);
return viewHolder;
}
请帮助我。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)