WrapContentLinearLayoutManager.java 1.54 KB
package com.wd.common.manager;

import android.content.Context;
import android.util.AttributeSet;

import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

/**
 * Time:2024/5/20
 * Author:ypf
 * Description:解决Caused by: java.lang.IndexOutOfBoundsException: Inconsistency detected.
 * Invalid view holder adapter positionBaseViewHolder{888f1d1 position=6 id=-1, oldPos=-1, pLpos:-1 no parent} androidx.recyclerview.widget.RecyclerView{dbc55b0 VFE...... ........ 0,0-1080,2085 #7f0a0f73 app:id/root_recyclerview}, adapter:com.people.personalcenter.message.adapter.ReplyMineMsgAdapter@ae2a6f6, layout:androidx.recyclerview.widget.LinearLayoutManager@9a43af7, context:com.people.personalcenter.message.activity.ReplyMsgListActivity@470fcb
 */
public class WrapContentLinearLayoutManager extends LinearLayoutManager {
    public WrapContentLinearLayoutManager(Context context) {
        super(context);
    }

    public WrapContentLinearLayoutManager(Context context, int orientation, boolean reverseLayout) {
        super(context, orientation, reverseLayout);
    }

    public WrapContentLinearLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) {
        try {
            super.onLayoutChildren(recycler, state);
        } catch (IndexOutOfBoundsException e) {
            e.printStackTrace();
        }
    }
}