有时在ListView外面我们会套一层ScrollView,直接放入ListView的话会出现无法展开的情况,这时候只需要定制一下ListView即可。
自定义一个ListView类,然后重载onMeasure(int widthMeasureSpec, int heightMeasureSpec)方法:
public class ListViewForScrollView extends ListView {
public ListViewForScrollView(Context context) {
super(context);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
使用ListViewForScrollView 替换原有的ListView即可。