更新RecyclerView的高度

时间:2018-10-18 10:23:11

标签: android android-recyclerview android-nestedscrollview

我使用ViewFlipper-> NestScrollview-> LinearLayout(两个RecyclerView的父级)进行布局。两个RV的高度都设置为wrap_content和setNestedScrollingEnable(false)。现在的问题是,每当RV之一过滤适配器时,即使项目数量减少了,RV仍保持其旧视图大小。如何使RV尺寸适应适配器的新尺寸变化?我意识到这是在将两个RV嵌套在NestedScrollView中时开始发生的。无论如何,在更新RV的内容时都会更新子视图的大小。调用notifyDataSetChanged()不会更新视图大小

1 个答案:

答案 0 :(得分:1)

如果每次过滤列表时都将notifyDataSetChanged放入适配器,则应该可以。这是我的一个项目的示例,在该项目中,我基于searchview查询过滤列表,并且每次重新分配列表时,我都在适配器中调用notifyDataSetChanged()

 @Override
            protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
                if (!listFiltered.isEmpty()) {
                    listItems = (ArrayList<ListaConsultaFamilia>) filterResults.values;
                    notifyDataSetChanged();
                }
            }