我目前通过将 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?这应该怎么做?