RecyclerView

2019-12-21  本文已影响0人  Anwfly

RecyclerView滑动监听

rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);

                //获取布局管理
                LinearLayoutManager lm = (LinearLayoutManager) recyclerView.getLayoutManager();
                //获取总个数
                int totalItemCount = recyclerView.getAdapter().getItemCount();
                //获取最后一页最后一个条目的下标
                int lastVisibleItemPosition = lm.findLastVisibleItemPosition();
                //获取可见页面条目个数
                int visibleItemCount = recyclerView.getChildCount();
                if (newState == RecyclerView.SCROLL_STATE_IDLE
                        && visibleItemCount > 0
                        && lastVisibleItemPosition == totalItemCount - 1) {
                    page++;
                    initData(page);
                }
            }
        });

//上下文菜单获取条目索引

@Override
    public boolean onContextItemSelected(@NonNull MenuItem item) {
        AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
        int position = menuInfo.position;

        switch (item.getItemId()) {
            case 0:
                Toast.makeText(MainActivity.this, "条目"+item.getTitle()+"的位置是"+position, Toast.LENGTH_SHORT).show();
                break;
            case 2:
                Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();

                break;
            case 1:
                Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onContextItemSelected(item);
    }
上一篇 下一篇

猜你喜欢

热点阅读