社区
Android
帖子详情
关于ListView嵌套GridView的奇葩问题
这可能是个坑
2018-06-12 07:18:43
如图所示,在ListView嵌套GridView时出现了奇葩现象,求大神指教!
...全文
1520
7
打赏
收藏
关于ListView嵌套GridView的奇葩问题
如图所示,在ListView嵌套GridView时出现了奇葩现象,求大神指教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
这可能是个坑
2018-06-19
打赏
举报
回复
listview的getiview中区分两种item类型,做两种处理,断点可以看出返回的item类型是正确的 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; 然后再走swich。。。case的步骤,然后就正常适配数据了,其它的都没有改动,现在还不知道是什么原因,但listview的第一条中的gridview现在已经正常适配了,有没有大神知道是什么原理,我就是随便试试那个判断的,也不知道怎么就好了。
Jing丶無雙
2018-06-15
打赏
举报
回复
你把你复用convertview和去掉convertview复用的代码片段贴出来,对比看看
maogedadada
2018-06-15
打赏
举报
回复
重写gridview ,链接在这 https://blog.csdn.net/yuyan13419694540/article/details/51143223
Jing丶無雙
2018-06-13
打赏
举报
回复
你断点调试,看看ListView加载第一个item的流程是否正常
这可能是个坑
2018-06-13
打赏
举报
回复
一直以为recycleView是5.1才出的正式版呢,所以5.1之前我都在避免使用,非常感谢提醒!另外,我的listview的宽高都是match_parent,我当前的listview在适配的时候,是在listview的getview中根据源数据的类型进行对convertView的动态宽高设置,同时也对convertview里包含的gridview进行了一个宽高的动态设置并适配gridview,listview正常复用convertView的时候,listview的第一条数据无法正常适配,当我去掉listview的convertview的复用的时候,数据适配就正常了,不知道到底是什么原因导致的。。。
jklwan
2018-06-13
打赏
举报
回复
参考这个
https://www.jb51.net/article/126601.htm
另外RecyclerView是支持android4.x的
这可能是个坑
2018-06-13
打赏
举报
回复
现在断点只能看到ListView的getView被多次重复调用,我在给GridView设置适配器时,使用了一个handle延迟,确保流畅加载;这个延迟去掉或者不去掉,liatview的getView方法一样被多次调用,例如有5条数据,getView会有多次重复的position=0,1,2,3,4的重复
listview
嵌套
gridview
图片资源错乱
问题
listview
嵌套
gridview
以及其他的数据显示,出现了比较
奇葩
的事情,同样的方法 在其他页面一切OK,但是仅仅在这里了
gridview
图片错乱了(其他数据显示正常),网上各种找方法,各种不行,最后还是万能的SimpleAdater解决了
问题
。 SimpleAdapter simpleAdapter = new SimpleAdapter(activity, list, R.layout...
scrollview
嵌套
listview
、
gridview
各种
奇葩
问题
项目做多了之后,会发现其实 ScrollView
嵌套
ListVew或者
GridView
等很常用,但是你也会发现各种奇怪
问题
产生。根据个人经验现在列出常见
问题
以及代码最少最简单的解决方法。
问题
一 :
嵌套
在 ScrollView的 ListVew数据显示不全,我遇到的是最多只显示两条已有的数据。 解决办法:重写 ListVew或者
GridView
,网上还有很多若干解决办法,但是都不好
scrollView
ListView
GridView
嵌套
你要知道的
ListView
GridView
嵌套
ScrollView 和
ListView
,
GridView
的
嵌套
问题
A.ScrollView 和
ListView
,
GridView
的
嵌套
时显示不全的
问题
。 这种情况可以重写
ListView
,
GridView
,给其高度一个比较大的值。 public class My
ListView
extends
ListView
{ public My
ListView
(Context context) { super(context);
Scrollerview与
listview
或者
gridview
发生冲突
滑动冲突说实在的就是子view的滑动事件与父view的滑动事件的监听都在同时触发,而导致的activity的点击事件或者布局出
问题
常见的就有Scrollerview与Scrollerview与
listview
或者
gridview
发生冲突,
listview
是RecycleView等等的代表。话说,其中
listview
和scrollerview冲突的时候发生的
问题
比较
奇葩
其中,
listview
...
Android
80,472
社区成员
91,384
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章