一种列表控件中视图列表的数据更新方法及系统技术方案

技术编号:13239376 阅读:63 留言:0更新日期:2016-05-15 01:21
本发明专利技术提供一种列表控件中视图列表的数据更新系统及方法,该方法包括:界面初始化阶段,进行数据源填充;数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的数据源与数据适配器绑定;列表控件通过数据适配器获取数据源,将数据源中的视图列表项填充入对应的列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;界面更新阶段,当数据结构发生变化时,将数据结构的第一标志位更改为第二标志位,列表控件的视图列表获取包含第二标志位的数据结构,绘制包含第二标志位的数据结构在第一视图中对应的视图部分,获取第二视图。本发明专利技术只将数据有变化的列表项视图进行更新,避免了资源浪费,大大提高了更新性能。

【技术实现步骤摘要】

本专利技术涉及一种Android运行系统,特别是涉及一种Android列表控件中视图列表的数据更新的优化的系统及方法。
技术介绍
随着现代化通讯设备的快速发展,在安卓应用中,列表控件的使用频率是非常高的,并且在数据变化时更新列表界面的操作也很频繁,目前现有技术使用的方法是调用系统中数据适配器的notifyDataSetChanged方法,实现更新界面,不过此方法在更新界面时,会重新绘制可视界面中所有列表项,即使有的列表项绑定的数据未发生变化,也会被重新绘制。目前现有的技术方案,是在数据源中的数据发生变化时,调用与之关联的数据适配器的系统提供方法notifyDataSetChanged,触发界面重绘操作,此时界面上可视的列表项,都会通过数据适配器的getView方法,得到包含新数据的view,绘制在屏幕上,具体可以参考安卓官方开发文档;然而,上述现有技术的缺点是,在调用数据适配器的getView方法,重绘界面时,无论数据源数据是否都有变化,都会将重新绑定数据的view进行绘制,如此,会大大的造成性能的浪费。鉴于上述问题的存在,一种新的、有效的提供一种只是将有变化的数据列表项的view,重新绑定新数据,使程序性能得到有效的提升一种列表控件中视图列表的数据更新的优化的系统及方法的专利技术是势在必行的。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种只是将有变化的数据列表项的view,重新绑定新数据,而避免了无论数据源数据是否都有变化,都会将重新绑定数据的view进行绘制而造成的性能的浪费,如此使程序性能得到有效的提升。为实现上述目的及其他相关目的,本专利技术提供一种列表控件中视图列表的数据更新方法,其至少包括如下步骤:界面初始化阶段,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;界面更新阶段,当所述数据结构发生变化时,将所述数据结构的第一标志位更改为第二标志位,以便所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图,以便显示界面显示所述第二视图。可选地,所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图的一种具体实现过程包括:循环遍历数据源,找到包含第二标志位的数据结构,获得包含第二标志位的数据结构在所述数据源中的第一位置;将所述第一位置与当前可视界面的第一个视图列表的位置进行比较,得到需要更新的视图列表的位置;将所属包含第二标志位的数据结构更新至所述需要更新的视图列表中,获得所述第二视图。可选地,所述数据适配器根据所述第一位置与所述当前可视界面的第一个视图列表的位置的差别,得到需要更新的视图列表的位置。可选地,所述当前可视界面的第一个视图列表的位置通过所述列表控件得到。可选地,所述第一标志位的默认值为false;所述第二标志位的默认值为true。本专利技术还提供一种列表控件中视图列表的数据更新系统,其至少包括:界面初始化模块,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;界面更新模块,与所述界面初始化模块相连,当所述数据结构发生变化时,将所述数据结构的第一标志位更改为第二标志位,以便所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图,以便显示界面显示所述第二视图。可选地,所述列表控件中视图列表的数据更新系统还包括:所述界面更新模块在检测到有变化的数据后,循环遍历数据源,找到包含第二标志位的数据结构,获得包含第二标志位的数据结构在所述数据源中的第一位置,将所述第一位置与当前可视界面的第一个视图列表的位置进行比较,得到需要更新的视图列表的位置,将所属包含第二标志位的数据结构更新至所述需要更新的视图列表中,获得所述第二视图。可选地,所述数据适配器根据所述第一位置与所述当前可视界面的第一个视图列表的位置的差别,获取需要更新的视图列表的位置。可选地,所述列表控件获取所述当前可视界面的第一个视图列表的位置。可选地,所述第一标志位的默认值为false;所述第二标志位的默认值为true。如上所述,本专利技术的一种列表控件中视图列表的数据更新系统及方法,具有以下有益效果:本专利技术的列表控件中视图列表的数据更新系统及方法与现有技术相比,由于只是会将数据有变化的列表项view进行更新,而避免了无论数据源数据是否都有变化,都会将重新绑定数据的view进行绘制而造成的性能的浪费,程序性能可以得到大大提升。【附图说明】图1显示为本专利技术列表控件中视图列表的数据更新方法的界面初始化阶段的步骤示意图。图2显示为本专利技术列表控件中视图列表的数据更新方法的界面更新阶段的步骤示意图。图3显示为本专利技术列表控件中视图列表的数据更新系统的框架示意图。元件标号说明101界面初始化模块102界面更新模块S10-S15 步骤 S10-S15S31-S33 步骤 S31-S33【具体实施方式】以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术实施例提供一种列表控件中视图列表的数据更新方法,其至少包括如下步骤:界面初始化阶段,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;其中,所述第一标志位的默认值为false;所述第二标志位的默认值为true。[0当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种列表控件中视图列表的数据更新方法,其特征在于,其至少包括如下步骤:界面初始化阶段,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;界面更新阶段,当所述数据结构发生变化时,将所述数据结构的第一标志位更改为第二标志位,以便所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图,以便显示界面显示所述第二视图。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴亮
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1