当ScrollView中嵌套一个ListView时,ListView只会显示一行到两行的数据。
import android.widget.ListView;
public class MyListView extends ListView{
public MyListView(android.content.Context context,android.util.AttributeSet attrs){
super(context, attrs);
}
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
继承ListView,重写onMeasure即可。
同样,当ScrollView中嵌套一个GridView时,也需要重写一下GridView,否则只会显示一行GridView的数据。
import android.widget.GridView;
public class MyGridView extends GridView {
public MyGridView(android.content.Context context,
android.util.AttributeSet attrs) {
super(context, attrs);
}
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
继承GridView,重写onMeasure即可。
来源:http://qiansheep.blog.163.com/blog/static/350687202013982359590/