如图所示,在ListView嵌套GridView时出现了奇葩现象,求大神指教!
解决方案 »
- Android中图片的问题
- android 实现背景拖动(布局和动画的结合)
- 安卓最佳应用?
- 找不到新增的字符串
- 各位好,请问有哪位知道如何在android平台下对PDF文件进行编辑操作吗,比如,插入图片,添加文字,更改里面内容等等,我知道JAVA中可以用PDFBOX,里面
- 急!android如何实现实时发送json数据,求指教,拜托了大家了
- 后台Service服务的结构问题
- 【原创分享】Android 4.4 全套源码及子模块源码的下载方法
- edittext默认多行显示,每行都像笔记本样式,带横线的
- 一个Android数据存储的例子,一直有问题,求大神指点
- RecyclerView+ViewPager的实现问题
- 由于android.enableAapt2=false引发的错误
另外RecyclerView是支持android4.x的
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
switch (getItemViewType(position)) {
case 0:
count=position;
return handleGoodsView(position,convertView,parent);
case 1:
count=position;
return handleCateView(position,convertView,parent);
default:
return convertView;
}
}
handleGoodsView的部分代码,convertview的复用部分,这个复用目前我已经注掉了
private View handleGoodsView(final int position, View convertView, ViewGroup parent) {
final LifeFloorInfo item = floorInfo.get(position);//某一个楼层
final ArrayList<LifeFloorGoods> detailGoods = floorInfo.get(position).getGoodsList();//type==1时,楼层的商品集合
final ViewHolder holder ;
mesureconvertView(listView, DeviceUtil.dip2px(context, getConvertViewOff(95)));
// if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(
R.layout.fd_life_floor_item, parent,false);
holder = new ViewHolder();
holder.setTag("1");
holder.FloorName = (TextView) convertView.findViewById(R.id.FloorName);
// holder.FloorId = (TextView) convertView.findViewById(R.id.FloorId); // holder.Url = (ImageView) convertView.findViewById(R.id.Url);
holder.gridview=(GridView)convertView.findViewById(R.id.gridView1);
holder.more_tv=(TextView)convertView.findViewById(R.id.mall_home_detail);
// holder.view=(RecyclerView)convertView.findViewById(R.id.id_recyclerview_horizontal); convertView.setTag(holder);
// }
// else {
// holder = (ViewHolder) convertView.getTag();
// }
holder.FloorName.setText(item.getFloorName());
mesureconvertView(convertView, DeviceUtil.dip2px(context, getConvertViewOff(95)));//动态设置convertview的宽高
horizontal_layout(holder.gridview,DeviceUtil.dip2px(context, 60),detailGoods.size());//设置gridview为横向布局以及gridview的宽度及高度
holder.gridview.setAdapter(new LifeFloorGoodsDetailAdapter(context,detailGoods));//适gridview的内部数据
设置监听之类的代码就没有粘贴出来了
}
handleCateView的代码与handleGoodsView的代码类似以上如果放开convertview的复用,是在适配出现问题的后来我尝试了一种写法,把复用放开后就没问题了。
就在list view的getview的一开始就增加一个判断
if (convertView!=null&&position>listView.getLastVisiblePosition())
return convertView;
然后再走swichcase的步骤,然后就正常适配数据了,其它的都没有改动,现在还不知道是什么原因,但listview的第一条中的gridview现在已经正常适配了,有没有大神知道是什么原理,我就是随便试试那个判断的,也不知道怎么就好了。