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);
}
网友评论