美文网首页
BUG-Android 4. Bug 汇总

BUG-Android 4. Bug 汇总

作者: KYM1988 | 来源:发表于2019-11-12 09:31 被阅读0次

    1. 异常导致崩溃:java.lang.IndexOutOfBoundsException: Invalid item position 0(0). Item count:0 PageRecyelerView.PageRecyclerView{b2c437c VFED..... ......I. 0,0-0,0 #7f070062 app:id/cusom_swipe_view}, adapter:PageRecyelerView.PageRecyclerView$PageAdapter@c50b405, layout:PageRecyelerView.AutoGridLayoutManager@6145c5a, context:PageRecyelerView.pageMainActivity@71cf016

    问题点:

    @Override

    public void onMeasure(RecyclerView.Recycler recycler,  RecyclerView.State state, int widthSpec, int heightSpec) {

    if (measuredHeight <=0) {

    View view = recycler.getViewForPosition(0);

      if (view !=null) {

                measureChild(view, widthSpec, heightSpec);

                measuredWidth = View.MeasureSpec.getSize(widthSpec);

                measuredHeight = view.getMeasuredHeight() * getSpanCount();

            }

    }

    setMeasuredDimension(measuredWidth, measuredHeight);

    }

    解决方法:

    //获取count判断,必须要有

    int count = state.getItemCount();

    if (count >0) {

    if (measuredHeight <=0) {

    View view = recycler.getViewForPosition(0);

            measureChild(view, widthSpec, heightSpec);

            measuredWidth = View.MeasureSpec.getSize(widthSpec);

            measuredHeight = view.getMeasuredHeight() * getSpanCount();

        }

    setMeasuredDimension(measuredWidth, measuredHeight);

    }else {

    super.onMeasure(recycler, state, widthSpec, heightSpec);

    }

    原档:https://blog.csdn.net/qq_26530191/article/details/83622434

    相关文章

      网友评论

          本文标题:BUG-Android 4. Bug 汇总

          本文链接:https://www.haomeiwen.com/subject/sglfictx.html