1

我目前通过将 GridView 添加到 ListView 的一行而陷入困境,它为每一行使用不同的布局。在我看来,这应该是可能的,不是吗?或者这应该怎么做?虽然我总是收到 NullPointerException 并且不知道为什么。

我使用以下代码为我的 ListView 生成视图。第二个视图应该将 GridView 添加到 ListView:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int type = getItemViewType(position);
        if (convertView == null) {
            switch (type) {
                case TYPE_ITEM0:
                    convertView = mInflater.inflate(R.layout.foto_details_headline, null);
    /* Logic for first Row of the ListView */
                    break;
                case TYPE_ITEM1:

                    convertView = mInflater.inflate(R.layout.foto_details_gridview, null);
                    GridView gridview = (GridView) findViewById(R.id.gridview);
                    Context m = getApplicationContext();
                    int s = mData.get(0).pictures.size();

    //le wild null pointer appears                        
                    gridview.setAdapter(new FotoDetailsImageAdapter(convertView.getContext(), mData.get(0).pictures));
                    break;

            }

        }

        return convertView;
    }

当我想设置适配器 (FotoDetailsImageAdapter) 时会出现 NullPointer。上下文和图片不是空的——我已经证明了这一点。我怀疑处理到 ImageAdapter 的上下文有问题。

总而言之,它应该看起来类似于我的 iOS 应用程序——我在其中实现了相同的逻辑(也使用列表视图)。第二行包含一个 GridView。

在此处输入图像描述

有任何想法吗?是否可以在 ListView 中嵌套 GridView?这应该怎么做?

4

1 回答 1

0

您可以将 GridView 放在 ScrollView 中。这是 Youtube 链接http://www.youtube.com/watch?v=kNX996ZZ2CI

在这种情况下,GridView 将是可滚动的

于 2012-07-09T10:32:00.520 回答