崔峰鸣 2016-07-09 14:58 采纳率: 33.3%
浏览 1359
已结题

Android RecyclerView OnScrollListener

图片说明
各位版主大神,这种是什么错误,该怎么解决呢?

  • 写回答

2条回答 默认 最新

  • 崔峰鸣 2016-07-09 18:39
    关注

    public class MyRecyclerView extends RecyclerView implements RecyclerView.OnScrollListener
    {

    /**
     * 记录当前第一个View
     */
    private View mCurrentView;
    
    private OnItemScrollChangeListener mItemScrollChangeListener;
    
    public void setOnItemScrollChangeListener(OnItemScrollChangeListener mItemScrollChangeListener)
    {
        this.mItemScrollChangeListener = mItemScrollChangeListener;
    }
    
    public interface OnItemScrollChangeListener
    {
        void onChange(View view, int position);
    }
    
    public MyRecyclerView(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        // TODO Auto-generated constructor stub
        this.setOnScrollListener(this);
    }
    
    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b)
    {
        super.onLayout(changed, l, t, r, b);
    
        mCurrentView = getChildAt(0);
    
        if (mItemScrollChangeListener != null)
        {
            mItemScrollChangeListener.onChange(mCurrentView, getChildPosition(mCurrentView));
        }
    }
    
    
    @Override
    public void onScrollStateChanged(int arg0)
    {
    }
    
    /**
     *
     * 滚动时,判断当前第一个View是否发生变化,发生才回调
     */
    @Override
    public void onScrolled(int arg0, int arg1)
    {
        View newView = getChildAt(0);
    
        if (mItemScrollChangeListener != null)
        {
            if (newView != null && newView != mCurrentView)
            {
                mCurrentView = newView ;
                mItemScrollChangeListener.onChange(mCurrentView, getChildPosition(mCurrentView));
            }
        }
    
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘