1.之前做的一个demo中需要listview多条目适配,并且出现了listview嵌套gridview,然后就出现了一个小bug,gridview中的数据显示不全,只能显示一行数据。后来自己查了查资料,发现了问题的原因,原来是嵌套的
过程中,gridview的高度变得不可控了,所以这里我们需要,继承gridview并且重写一个方法,给gridview重新设置高度。这样就解决了这个小bug。下面是重写的代码。
public classMyGridViewextendsGridView {
publicMyGridView(Context context) {
super(context);
//TODO Auto-generated constructor stub
}
publicMyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
//TODO Auto-generated constructor stub
}
publicMyGridView(Context context, AttributeSet attrs,intdefStyle) {
super(context, attrs, defStyle);
//TODO Auto-generated constructor stub
}
@Override
protected voidonMeasure(intwidthMeasureSpec,intheightMeasureSpec) {
//TODO Auto-generated method stub
intexpandSpec= MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec,expandSpec);
}
}
然后在布局文件中,使用我们重新自定义的gridview就可以了,非常简单!
网友评论