解决ListView嵌套ScrollView的问题

当ScrollView里面包含ListView时,listView只能显示第一行数据. 所以需要解决的也就是高度问题了

需要自定义,重写onMeasure方法,改变测量的高度就行了
class MyListView extends ListView{

    public MyListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * 使得ListView适应ScrollView的效果
     */
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        //AT_MOST代表包裹内容的长度,超过MAX_VALUE>>2的值就不能包裹了
        int spec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, spec);//改变测量的高度
    }
}
 
posted @ 2016-10-24 13:59  ts-android  阅读(136)  评论(0编辑  收藏  举报