【问题标题】:How to skip certain items in recyclerview?如何跳过recyclerview中的某些项目?
【发布时间】:2018-09-04 00:59:11
【问题描述】:

基本上,我试图通过此SOanswer 的帮助使该视图的可见性GONE 跳过recyclerview 的某些项目。它就像linear_recyclerview 的魅力一样,在跳过后不显示空白空间项目,但在grid_recyclerview 的情况下,它显示的是空置空间。谁能帮我解决这个问题。

代码:

if(position==0){
holder.itemView.setVisibility(View.GONE); 
holder.itemView.setLayoutParams(new RecyclerView.LayoutParams(0, 0));
 } 

【问题讨论】:

  • 为什么不直接从适配器的数据集中删除项目?
  • 使用可见性来显示/隐藏项目行真的很糟糕,您应该过滤数据集并删除/添加行。当您尝试将项目动态添加到数据集中时,您认为使用此逻辑会发生什么......没什么好!

标签: android android-recyclerview


【解决方案1】:

我认为最好从数据源中删除不需要的项目,然后只显示所有其他项目。它更简单,更有效。这样,您将永远不会得到空白,而将 itemView 标记为 GONE 在某些特定情况下可能仍会显示空白。

【讨论】:

  • 是的!你说的对。使 itemView 持有人消失将显示白屏。但覆盖所有情况也不会显示白屏
  • 虽然你的建议很好,但它给了 indexOutOfBoundException 很多次,这就是我试图让视图消失的原因。但是,如果您能提出一些想法如何有效地删除特定位置的项目,那将是一个很大的帮助。
  • 您能否发布您当前使用的导致 indexOutOfBoundsExeption 的代码?
猜你喜欢
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 2012-06-22
  • 2017-07-20
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多