我使用ViewFlipper-> NestScrollview-> LinearLayout(两个RecyclerView的父级)进行布局。两个RV的高度都设置为wrap_content和setNestedScrollingEnable(false)。现在的问题是,每当RV之一过滤适配器时,即使项目数量减少了,RV仍保持其旧视图大小。如何使RV尺寸适应适配器的新尺寸变化?我意识到这是在将两个RV嵌套在NestedScrollView中时开始发生的。无论如何,在更新RV的内容时都会更新子视图的大小。调用notifyDataSetChanged()不会更新视图大小
答案 0 :(得分:1)
如果每次过滤列表时都将notifyDataSetChanged放入适配器,则应该可以。这是我的一个项目的示例,在该项目中,我基于searchview查询过滤列表,并且每次重新分配列表时,我都在适配器中调用notifyDataSetChanged()
@Override
protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
if (!listFiltered.isEmpty()) {
listItems = (ArrayList<ListaConsultaFamilia>) filterResults.values;
notifyDataSetChanged();
}
}