android listview grideview,android中ListView嵌套GridView,其中某个GridView的内容无法显示?...

描述

我在ListView中嵌套了一个GridView,即每个item中都有一个GridView。

GridView中显示一组图片。

代码

ListView的适配器

下面是

ListView的适配器中的getView。

其中的list里面是一组图片的Uri。

我进行判断了一下,如果list里没有Uri,就隐藏GridView;如果有才给GridView设置适配器显示出来。

@Override

public View getView(int arg0, View convertView, ViewGroup arg2) {

ViewHolder viewHolder;

if (convertView == null) {

convertView = inflater.inflate(R.layout.listview_main_item, null);

viewHolder = new ViewHolder();

viewHolder.mImgGridView = (GridView) convertView

.findViewById(R.id.gv_listView_main_gridView);

convertView.setTag(viewHolder);

} else {

viewHolder = (ViewHolder) convertView.getTag();

}

ArrayList list = (ArrayList) initData().get(arg0).get("urls");

if (list.size() == 0) {

viewHolder.mImgGridView.setVisibility(View.GONE);

} else {

Log.d("PromotionalMaterialActi", "" + list.size());

viewHolder.mImgGridView.setAdapter(new MyGridViewAdapter(context, list));

}

return convertView;

}

数据

ArrayList> mDatas = new ArrayList>();

//没图片

Map map = new HashMap<>();

ArrayList urls = new ArrayList();

map.put("urls", urls);

mDatas.add(map);

//一张图片

Map map2 = new HashMap<>();

ArrayList urls2 = new ArrayList();

urls2.add("https://img-my.csdn.net/uploads/201410/19/1413698883_5877.jpg");

map2.put("urls", urls2);

mDatas.add(map2);

//三张图片

Map map3 = new HashMap<>();

ArrayList urls3 = new ArrayList();

urls3.add("https://img-my.csdn.net/uploads/201410/19/1413698867_8323.jpg");

urls3.add("https://img-my.csdn.net/uploads/201410/19/1413698883_5877.jpg");

urls3.add("https://img-my.csdn.net/uploads/201410/19/1413698837_5654.jpg");

map3.put("urls", urls3);

mDatas.add(map3);

//六张图片

Map map4 = new HashMap<>();

ArrayList urls4 = new ArrayList();

urls4.add("https://img-my.csdn.net/uploads/201410/19/1413698837_7507.jpg");

urls4.add("https://img-my.csdn.net/uploads/201410/19/1413698865_3560.jpg");

urls4.add("https://img-my.csdn.net/uploads/201410/19/1413698867_8323.jpg");

urls4.add("https://img-my.csdn.net/uploads/201410/19/1413698837_5654.jpg");

urls4.add("https://img-my.csdn.net/uploads/201410/19/1413698883_5877.jpg");

urls4.add("https://img-my.csdn.net/uploads/201410/19/1413698839_2302.jpg");

map4.put("urls", urls4);

mDatas.add(map4);

//六张图片

Map map5 = new HashMap<>();

ArrayList urls5 = new ArrayList();

urls5.add("https://img-my.csdn.net/uploads/201410/19/1413698837_7507.jpg");

urls5.add("https://img-my.csdn.net/uploads/201410/19/1413698865_3560.jpg");

urls5.add("https://img-my.csdn.net/uploads/201410/19/1413698867_8323.jpg");

urls5.add("https://img-my.csdn.net/uploads/201410/19/1413698837_5654.jpg");

urls5.add("https://img-my.csdn.net/uploads/201410/19/1413698883_5877.jpg");

urls5.add("https://img-my.csdn.net/uploads/201410/19/1413698839_2302.jpg");

map.put("urls", urls5);

mDatas.add(map5);

现象描述

第四个item上的GridView图片无法显示

bVsSAy

bVsSAz

bVsSAA

解决方法

把 viewHolder.mImgGridView.setVisibility(View.GONE);

这样第四个item上的GridView图片就会显示出来了。

但是这是为什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值