【发布时间】:2012-07-09 10:28:34
【问题描述】:
我目前被困在将 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?这应该怎么做?
【问题讨论】:
-
GridView 本身是可滚动的。
-
你可以试试这个非常好的解决方案:stackoverflow.com/a/4536955/358813>
标签: android android-layout android-listview android-gridview