更改项目的可见性后调整RecyclerView的大小

时间:2019-05-23 11:03:39

标签: android android-recyclerview

我非常使用数据绑定。我试图通过根据用户的查询更改项目的可见性来实现RecyclerView列表中的搜索。

我认为如果该项目与用户的查询不匹配,我将隐藏该项目。因此,用户将仅看到他查询的项目。

代码

@BindingAdapter("visible")
public static void visibleWithBoolean(View view, boolean bool) {
    view.setVisibility(bool ? View.VISIBLE : View.GONE);
}

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:visible="@{item.visible}"
    >

似乎很简单?,我是这么认为的。

问题

一切正常,物品看起来不可见。但是在项目变得不可见之后,在不可见项目的地方有空白。我尝试了不同的方式。但是没有得到解决。

我已经尝试过以下操作

  • 在RecyclerView和儿童视图上同时调用requestLayout()
  • setNestedScrolling(false)
  • holder.itemView.setVisibility(View.GONE);

    holder.itemView.setLayoutParams(new RecyclerView.LayoutParams(0, 0));

  • adapter.notifyItemChanged(index);更改可见性后

0 个答案:

没有答案