写个类继承listview(gridview)重写一下方法可以确定listview的高度已解决ScrollView与listview的冲突
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
但是这样进入页面会直接定位到listview的位置
用scrollView.smoothScrollTo(0,0);可以让scrollView出现在顶点不过不能用在onCreate里面
因为那是页面没有加载完成,需要页面加载后使用
可以在onWindowFocusChanged(boolean hasFocus)中调用
这个方法是在Activity得到或者失去焦点的时候就会回调,其中hasFocus表示Activity是获取到焦点还是失去焦点。