当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);//改变测量的高度
}
}