android - 在 recyclerview 中消失的可见性仍然占据空间?

标签 android android-recyclerview

这是我当前的代码。我想在我的 recyclerview 上隐藏一个特定的项目,但是当我使用 visibility.gone 时,它仍然占据了 recyclerview 上的空间。我也尝试了所有可能的解决方案 How to hide an item from Recycler View on a particular condition?任何帮助

  for(int j =0; j < minusList.size(); j++){
      int availableRooms =  minusList.get(j);

      if(norooms > availableRooms){ //norooms is the number of rooms wanted
      holder.itemView.setVisibility(View.GONE);
      mAdapter.notifyItemRemoved(position);
     }else{
      holder.rRoomsLeft.setText("Room available");
     }

}

这是我的 XML

<android.support.v7.widget.RecyclerView
                android:id="@+id/listView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:focusable="false"
                android:focusableInTouchMode="false" />

最佳答案

不要使用 holder.itemView.setVisibility(View.GONE);,而是使用:

  ViewGroup.LayoutParams params = holder.itemView.getLayoutParams();
  params.height = 0;
  holder.itemView.setLayoutParams(params);

关于android - 在 recyclerview 中消失的可见性仍然占据空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55116059/

相关文章:

java - 我在安装库时遇到问题

android - android:播放的声音总数有限制吗?

android - 如何在 Kotlin Room Entity 的构造函数中使用 Android 资源字符串

java - "Cannot be resolved or is not a field please"为什么?

java - Android Fragment 看起来很开销

java - 删除项目后 Recyclerview 高度没有改变

android - 如何在 Kotlin 中展平列表列表?

java - RecyclerView 和 java.lang.IndexOutOfBoundsException 无效的 View 持有者适配器 positionViewHolder

android - 外部读取logcat

android - 如何在 ListAdapter 中添加数据?