RecyclerView包裹ListView只显示一条数据
2018-04-10 本文已影响0人
啤酒小龙虾
目前项目要实现一个列表包裹子列表的需求,但是用recyclerview包裹listview只显示了一条数据,根据查阅网上资料。解决了问题,代码如下:
自定义ListView , 实现onMeasure方法
public class CustomListView extends ListView {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int customHeight = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); //自定义高 super.onMeasure(widthMeasureSpec, customHeight);
}
//实现构造方法
}
效果图如下:
MeasureSpec的三种模式:
UNSPECIFIED:父容器不对View有任何限制,要多大给多大,这种情况一般用于系统内部,表示一种测量的状态
EXACTLY:父容器已经测量出View所需要的精确大小,这个时候View的最终大小就是SpecSize所指定的值。它对应于LayoutParams中的match_parent和具体的数值这两种模式
AT_MOST:父容器指定了一个可用大小即SpecSize,View大小不能大于这个值,具体是什么值要看不同View的具体实现。它对应于LayoutParams中的Wrap_content