我正在尝试创建一个ListView,它将包含两种类型的元素:字符串和GridView 即将Strings和GridView放在一个ListView中。
布局应如下所示:
有没有办法做到这一点?
目前我只能显示GridView中的第一个项目,它在ListView中只是一个常规的String元素。
可在此处查看代码:
感谢任何帮助:)
答案 0 :(得分:51)
回答我自己的问题:
基于this answer我创建了这个非常有效的类:
public class NonScrollableGridView extends GridView {
public NonScrollableGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Do not use the highest two bits of Integer.MAX_VALUE because they are
// reserved for the MeasureSpec mode
int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, heightSpec);
getLayoutParams().height = getMeasuredHeight();
}
}