android – 如何知道RecyclerView何时完成放置项目?

前端之家收集整理的这篇文章主要介绍了android – 如何知道RecyclerView何时完成放置项目?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个CardView内的RecyclerView. CardView的高度为500dp,但如果RecyclerView较小,我想缩短此高度.
所以我想知道当RecyclerView是第一次完成它的项目时,是否有任何监听器被调用,可以将RecyclerView的高度设置为CardView的高度(如果小于500dp).

解决方法

我还需要在我的回收者视图完成充满所有元素之后执行代码.我尝试在我的适配器中检查onBindViewHolder,如果位置是最后一个,然后通知观察者.但在这一点上,回收者的观点仍然没有完全填补.

由于RecyclerView实现了ViewGroup,this anwser非常有帮助.你只需要添加一个OnGlobalLayoutListener到recyclelerView:

  1. View recyclerView=findViewById(R.id.myView);
  2. recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
  3. @Override
  4. public void onGlobalLayout() {
  5. //At this point the layout is complete and the
  6. //dimensions of recyclerView and any child views are known.
  7. }
  8. });

猜你在找的Android相关文章