Item布局中又嵌套有RecyclerView,因为嵌套的RecyclerView的Item数目是不确定的,所以每次都根据item的数目来计算其高度,就显得很麻烦。其实有一种方法就很简单且高效。

在adapter中的onBindViewHolder方法中增加以下两句代码完美解决:

ViewGroup.LayoutParams layoutParams = viewHolder.itemView.getLayoutParams();
layoutParams.height = LinearLayout.LayoutParams.WRAP_CONTENT;