一种列表控件中视图列表的数据更新方法及系统的制作方法

文档序号:9787181阅读:312来源:国知局
一种列表控件中视图列表的数据更新方法及系统的制作方法
【技术领域】
[0001 ] 本发明涉及一种Android运行系统,特别是涉及一种Android列表控件中视图列表的数据更新的优化的系统及方法。
【背景技术】
[0002]随着现代化通讯设备的快速发展,在安卓应用中,列表控件的使用频率是非常高的,并且在数据变化时更新列表界面的操作也很频繁,目前现有技术使用的方法是调用系统中数据适配器的notifyDataSetChanged方法,实现更新界面,不过此方法在更新界面时,会重新绘制可视界面中所有列表项,即使有的列表项绑定的数据未发生变化,也会被重新绘制。
[0003]目前现有的技术方案,是在数据源中的数据发生变化时,调用与之关联的数据适配器的系统提供方法notifyDataSetChanged,触发界面重绘操作,此时界面上可视的列表项,都会通过数据适配器的getView方法,得到包含新数据的view,绘制在屏幕上,具体可以参考安卓官方开发文档;然而,上述现有技术的缺点是,在调用数据适配器的getView方法,重绘界面时,无论数据源数据是否都有变化,都会将重新绑定数据的view进行绘制,如此,会大大的造成性能的浪费。
[0004]鉴于上述问题的存在,一种新的、有效的提供一种只是将有变化的数据列表项的view,重新绑定新数据,使程序性能得到有效的提升一种列表控件中视图列表的数据更新的优化的系统及方法的发明是势在必行的。

【发明内容】

[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种只是将有变化的数据列表项的view,重新绑定新数据,而避免了无论数据源数据是否都有变化,都会将重新绑定数据的view进行绘制而造成的性能的浪费,如此使程序性能得到有效的提升。
[0006]为实现上述目的及其他相关目的,本发明提供一种列表控件中视图列表的数据更新方法,其至少包括如下步骤:界面初始化阶段,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;界面更新阶段,当所述数据结构发生变化时,将所述数据结构的第一标志位更改为第二标志位,以便所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图,以便显示界面显示所述第二视图。
[0007]可选地,所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图的一种具体实现过程包括:循环遍历数据源,找到包含第二标志位的数据结构,获得包含第二标志位的数据结构在所述数据源中的第一位置;将所述第一位置与当前可视界面的第一个视图列表的位置进行比较,得到需要更新的视图列表的位置;将所属包含第二标志位的数据结构更新至所述需要更新的视图列表中,获得所述第二视图。
[0008]可选地,所述数据适配器根据所述第一位置与所述当前可视界面的第一个视图列表的位置的差别,得到需要更新的视图列表的位置。
[0009]可选地,所述当前可视界面的第一个视图列表的位置通过所述列表控件得到。
[0010]可选地,所述第一标志位的默认值为false;所述第二标志位的默认值为true。
[0011]本发明还提供一种列表控件中视图列表的数据更新系统,其至少包括:界面初始化模块,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;界面更新模块,与所述界面初始化模块相连,当所述数据结构发生变化时,将所述数据结构的第一标志位更改为第二标志位,以便所述列表控件的视图列表获取包含第二标志位的数据结构,绘制包含所述第二标志位的数据结构在所述第一视图中对应的视图部分,获取第二视图,以便显示界面显示所述第二视图。
[0012]可选地,所述列表控件中视图列表的数据更新系统还包括:所述界面更新模块在检测到有变化的数据后,循环遍历数据源,找到包含第二标志位的数据结构,获得包含第二标志位的数据结构在所述数据源中的第一位置,将所述第一位置与当前可视界面的第一个视图列表的位置进行比较,得到需要更新的视图列表的位置,将所属包含第二标志位的数据结构更新至所述需要更新的视图列表中,获得所述第二视图。
[0013]可选地,所述数据适配器根据所述第一位置与所述当前可视界面的第一个视图列表的位置的差别,获取需要更新的视图列表的位置。
[0014]可选地,所述列表控件获取所述当前可视界面的第一个视图列表的位置。
[0015]可选地,所述第一标志位的默认值为false;所述第二标志位的默认值为true。
[0016]如上所述,本发明的一种列表控件中视图列表的数据更新系统及方法,具有以下有益效果:
[0017]本发明的列表控件中视图列表的数据更新系统及方法与现有技术相比,由于只是会将数据有变化的列表项view进行更新,而避免了无论数据源数据是否都有变化,都会将重新绑定数据的view进行绘制而造成的性能的浪费,程序性能可以得到大大提升。
【附图说明】
[0018]图1显示为本发明列表控件中视图列表的数据更新方法的界面初始化阶段的步骤示意图。
[0019]图2显示为本发明列表控件中视图列表的数据更新方法的界面更新阶段的步骤示意图。
[0020]图3显示为本发明列表控件中视图列表的数据更新系统的框架示意图。
[0021]元件标号说明
[0022]101界面初始化模块
[0023]102界面更新模块
[0024]S10-S15 步骤 S10-S15
[0025]S31-S33 步骤 S31-S33
【具体实施方式】
[0026]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0027]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028]本发明实施例提供一种列表控件中视图列表的数据更新方法,其至少包括如下步骤:
[0029]界面初始化阶段,进行数据源填充,其中,所述数据源填充为在数据源中每个视图列表项对应的数据结构中添加第一标志位,将填充后的所述数据源与数据适配器绑定;所述列表控件通过所述数据适配器获取所述数据源,将所述数据源中的视图列表项填充入对应的所述列表控件的视图列表中,根据列表控件的视图列表绘制第一视图;显示界面显示所述第一视图;其中,所述第一标志位的默认值为false;所述第二标志位的默认值为true。
[0
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1