在Android中将GridView添加到ListView

在Android中将GridView添加到ListView,android,gridview,listview,Android,Gridview,Listview,我正在尝试创建一个ListView,它将包含两种类型的元素:字符串和GridView。 也就是说,将字符串和GridView放在一个ListView中 布局应如下所示: 字符串项1.1 字符串项1.2 字符串项1.3 字符串项1.4 GridView项目1 GridView项目2 GridView项目3 GridView项目4 字符串项2.1 字符串项2.2 字符串项2.3 字符串项2.4 有没有办法做到这一点 根据现在的情况,我只能在GridView中显

我正在尝试创建一个ListView,它将包含两种类型的元素:字符串和GridView。
也就是说,将字符串和GridView放在一个ListView中

布局应如下所示:

  • 字符串项1.1
  • 字符串项1.2
  • 字符串项1.3
  • 字符串项1.4
  • GridView项目1 GridView项目2
    GridView项目3 GridView项目4
  • 字符串项2.1
  • 字符串项2.2
  • 字符串项2.3
  • 字符串项2.4
有没有办法做到这一点

根据现在的情况,我只能在GridView中显示第一个项目,它在ListView中充当常规字符串元素

可在此处查看代码:


感谢您的帮助:)

回答我自己的问题:

基于此,我创建了一个非常有效的类:

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();
    }
}

这个任务的问题是,如果网格中有很多数据,所有数据都同时绘制,那么这个网格上就没有回收问题,并且可能会耗尽内存。。。一定有办法。。。可能有回收视图?这是一个非常古老的问题/答案。现在可以通过例如RecyclerView轻松解决此问题。比如,看看这里:@greve你让我开心。这种方法非常有效,谢谢你,伙计!我的问题通常不会这么容易解决!完美答案。谢谢