1

我目前通过将一个GridView添加到一行ListView中,每行使用不同的Layouts。我认为这应该是可能的,不是吗?或者应该怎么做?虽然我总是收到一个NullPointerException,但不知道为什么。Android:嵌套在ListView中的GridView

我使用下面的代码来为我的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)。上下文和图片不为空 - 我已经证明了这一点。我怀疑处理到ImageAdapter的上下文有什么问题。总而言之,它看起来应该和我的iOS应用程序相似 - 我已经实现了相同的逻辑(还有一个listview)。第二行由一个GridView组成。

enter image description here

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

+0

GridView控件本身是可滚动的。 – Carnal 2012-07-09 10:38:40

+1

您可以试试这个非常好的解决方案: elegant 2013-07-19 04:56:40

回答