首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025泰克杭州测试论坛
2025中国低空经济产业创新发展大会
【直播】芯片设计工艺仿真全解析
西门子数字化工业软件资源中心
嵌入式设计资源库
智能楼宇/家电控制应用全解析
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
面包板社区
> >
标签
> >
listview
标签: listview
相关博文
Android之使用 SimpleAdapter 实现 ListView
热度
2
大鸟科创空间
2021-5-26 13:00
1974 次阅读
|
1
个评论
使用 SimpleAdapter 来实现 ListView 有一定的扩充性,可以实现一定的自定义效果,这种自定义的效果是通过创建 item 样式来实现的。创建一个名为 item _ list.xml 的 item 布局文件,代码如下 ∶
安卓listview的view重用,Adapter适配器类,setTag,getTag的理解
热度
33
wxleasyland
2016-1-19 21:55
2916 次阅读
|
0
个评论
安卓listview的view重用,Adapter适配器类,setTag,getTag的理解 listview用的“适配器类”中一般有这个写法: public View getView(int position, View convertView, final ViewGroup parent) { mInflater = (LayoutInflater) contxet.getSystemService(Context.LAYOUT_INFLATER_SERVICE); ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.block_list_item, null); holder = new ViewHolder(); holder.mAd_tv_show = (TextView) convertView.findViewById(R.id.ad_tv_show); holder.mAd_btn_one = (Button) convertView.findViewById(R.id.ad_btn_one); holder.mAd_btn_two = (Button) convertView.findViewById(R.id.ad_btn_two); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } 。。。其它语句 是什么意思呢? 经研究,系统要显示listview中的其中一项listitem时,就会调用“适配器类”中的getView(int position, View convertView, final ViewGroup parent)。 这个函数方法是我们自己重写的,是由系统调用的,当要在屏上显示其中一个listitem项时,系统就会调用这个函数方法。 返回值view:我们返回这个listitem的view给系统,系统就把这个view显示出来。 position:系统会给出position值,表示要显示哪一个listitem。 convertView:系统会给出一个view,也可能是null。 因为每个listitem就是一个view! 比如listview中有100个listitem,当我们划动手指时,其它的listitem要显示出来,当每个listitem要显示出来时,系统都会调用getView()来得到这个listitem的view。不管你是上划,还是下划,即查看已显示过的listitem,也会调用getView()。 如果我们在getView()程序中每次都创建一个view出来,那我们下划到最后,就会有100个view被创建出来,我们再上划到最前面,又有100个view被创建出来,反复上下划,view就越来越多,系统就崩溃了。 所以,view是设定成可以重用的,只需要当前显示的view就够用了,,比如手机屏幕中只显示了3个listitem,其它listitem现在不用显示,则只需要3个view就可以了。我们只需要创建出3个view出来。当有一个listitem不再显示,它的view就可以被重用给要显示的新的listitem,就可以了。 系统自己会管理要重用的view,所以它调用getView()时,如果一个不再使用的view可以重用,它就把这个view作为convertView传递过来,让我们使用。如果没有可重用的view,它就传递null。这样我们在程序中就可以判断是否新建一个view了。 setTag()是把我们自己的数据依附到这个view中。当下次我们用这个view时,可以用getTag()取出自己的数据。 这个view中会有textview、button等,我们把它们存到自定义的ViewHolder中,再把ViewHolder依附setTag()到这个view中,供自己下次getTag()出来使用。。
更多...
相关资源
如何在SCROLLVIEW 中嵌入 LISTVIEW
所需E币: 0
时间: 2022-3-14 23:56
大小: 4.1MB
上传者:
samewell
更多...
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025泰克杭州测试论坛
2025中国低空经济产业创新发展大会
【直播】芯片设计工艺仿真全解析
西门子数字化工业软件资源中心
嵌入式设计资源库
智能楼宇/家电控制应用全解析
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×