ScrollView嵌套使用ListView的解决办法
2018-07-26 本文已影响0人
从新开始学android
将原生ListView替换为下方自定义的,即可解决问题,GridView同理
/**
* Created by wgd on 2018/6/11.
*/
public class ListViewForScrollView extends ListView{
public ListViewForScrollView(Context context) {
super(context);
}
public ListViewForScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ListViewForScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
/**
* 重写该方法,达到使ListView适应ScrollView的效果
*/
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
简单介绍一个原理:
这种解决方法是代表,让ListView自己填充高度,那么在测量方法中,就需要在onMeasure按照测量机制传值。
具体分析:参考博客https://www.cnblogs.com/RabbitLx/p/5858031.html