当scrollView中要嵌套ListView时,需要重写ListView的onMeasure()方法:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
但是此时界面可能不会移到最上方,需要在scrollView布局中最上方的控件上加入两行代码,可以获取焦点,使得视图焦点在此处。
android:focusable="true"
android:focusableInTouchMode="true"
ScrollView 无法显示全数据,需要加一行:
android:fillViewport="true"