首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
面包板社区
> >
标签
> >
listview
标签: listview
相关博文
Android之使用 SimpleAdapter 实现 ListView
热度
2
大鸟科创空间
2021-5-26 13:00
1790 次阅读
|
1
个评论
使用 SimpleAdapter 来实现 ListView 有一定的扩充性,可以实现一定的自定义效果,这种自定义的效果是通过创建 item 样式来实现的。创建一个名为 item _ list.xml 的 item 布局文件,代码如下 ∶
安卓listview的view重用,Adapter适配器类,setTag,getTag的理解
热度
30
wxleasyland
2016-1-19 21:55
2823 次阅读
|
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
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×