Android关于ListView嵌套ListView时item只显示一条问题

Android关于ListView嵌套ListView时item只显示一条问题

项目要求需要实现一个Listview拉出时还需一个ListView展现出来,表中表。

按着常规想法去写时,会发现在嵌套里的ListView里不管怎样设置都是只显示1行item

 

在Adapter类下的getConut方法内做 数据行输出发现 数据如实际行数传了过来,遂问题出在View层

度娘之后了解到:ListView自带纵向的拖动条,如果嵌套会导致拖动条冲突,最终结果是里边的ListView无法正确得到实际item数量导致无法正确设置高度。

解决办法:重写ListView类,使之能将获取到的行数来正确设置正确高度

public class ScrollViewWithListView extends ListView {
    public ScrollViewWithListView(android.content.Context context, android.util.AttributeSet attrs) { super(context, attrs); }

    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec);
    }
}

再到XML布局里修改ListView标签名

<kinglee.exam6.ScrollViewWithListView
....
/>

完成

发表评论

邮箱地址不会被公开。 必填项已用*标注