recycleview获取第一个和最后一个可见item的位置

来源:互联网 发布:骰子模拟器 mac版 编辑:程序博客网 时间:2024/03/29 23:08

recycleview 的名字是FoodsNameRecycle

 FoodsNameRecycle.setOnScrollListener(new RecyclerView.OnScrollListener() {            @Override            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {                super.onScrolled(recyclerView, dx, dy);            }            @Override            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {                super.onScrollStateChanged(recyclerView, newState);                RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();                //判断是当前layoutManager是否为LinearLayoutManager                // 只有LinearLayoutManager才有查找第一个和最后一个可见view位置的方法                if (layoutManager instanceof LinearLayoutManager) {                    LinearLayoutManager linearManager = (LinearLayoutManager) layoutManager;                    //获取最后一个可见view的位置                    int lastItemPosition = linearManager.findLastVisibleItemPosition();                    //获取第一个可见view的位置                    int firstItemPosition = linearManager.findFirstVisibleItemPosition();                    if (foodsArrayList.get(firstItemPosition) instanceof Foods) {                        int foodTypePosion = ((Foods) foodsArrayList.get(firstItemPosition)).getFood_stc_posion();                        FoodsTypeListview.getChildAt(foodTypePosion).setBackgroundResource(R.drawable.choose_item_selected);                    }                    System.out.println(lastItemPosition + "   " + firstItemPosition);                }            }        });
0 1
原创粉丝点击