Android拖放带有刷新头的Recyclerview

问题描述

我正在尝试拖放。我有自定义的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 (将#修改为@)