Android入门教程之ListView的具体使用详解
listview控件使用详解?
VB中ListView的用法:
(图片来源网络,侵删)listview控件可有4种不同的视图显示方法,跟“资源管理器”里的“查看”方式相似:
1)无图标;
2)小图标;
(图片来源网络,侵删)3)列表;
4)报表式。
列表,它作为一种非常重要的显示形式,不管是在web端还是在移动平台上,都是一种非常友好的,功能强大的展现形式。在Android中,ListView就接管了这一重任。尽管在Android5.X时代,后起之秀RecyclerListView在很多地方会取代ListView。但这依然无法撼动ListView这个老大哥的地位。既然,ListView这么重要,我看十分有必要对ListView的用法做一个总结。
(图片来源网络,侵删)利用ViewHolder来提高ListView的`执行效率是有目共睹的,ViewHolder模式是充分利用ListView的View视图缓存机制,避免了ListView每次调用getView的时候,都需要调用getView方法,极大提升了ListView的运行效率,据说,这种方式能提升效率50%以上。
android中scrollview和listview那个高效些为什么?
下图是android学习手册中关于listview与scrollview的处理以及事件冲突,360手机助手中可下载。
这两个控件的作用不一样。
第一,当ListView中有很多个item要显示,以致屏幕不能完全显示时,ListView自带滚动条,通过滑动就可以查看全部。但也可以将ListView嵌套在ScrollView中,同样可以达到相同的显示效果。但是,显示的相同,并不代表实际处理效果是一样的。ListView自带的滚动条对于”长数据“的处理方法是,只加载当前屏幕能显示的item,也就是说当前屏幕能显示几个item,就去加载几个item。一旦滑出屏幕就被销毁。当再次进入屏幕时,会重新加载这个position位置的item。而ScrollView却完全不同,ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。也可以把ScrollView看成一个无限长的屏幕,当ListView嵌套在ScrollView中时,会把所有的item都加载完,不论是否在当前屏幕中显示与否。也就是说当用ScrollView去嵌套一个ListView时,而同时ListView中又有很多的item,这时会很消耗系统资源。
spinner可以实现动态添加删除内容吗?
Android的listview和spinner等组件都采用了MVC模式来操作数据,也就是说,不能直接调用组件类的方法(如add或其他类似的方法)来添加、删除数据。而要通过一个Adapter对象(SimpleAdapter、ArrayAdapter等)来完成这个工作。
ListView相当于MVC中的V(视图层),用来显示数据。Adapter对象相当于C(控制层),用来将数据(数组、List)与ListView连接在一起。因此,操作数据需要在Adapter对象中进行。
如果列表项很复杂,可以自定义Adapter类(一般从BaseAdapter类继承)。然后在Adapter类中添加相应的增加、删除等方法。
当然,也可以直接更改数据源(数组或List对象),然后调用Adapter类的notifyDataSetChanged方法来通知Adapter对象数据已经改变。
ListView或Spinner会自动更新相应的列表项。最近在写一本关于Android开发的书,里面详细介绍了这个过程,并提供了大量的例子以供参考。
到此,以上就是小编对于android中listview的用法的问题就介绍到这了,希望这3点解答对大家有用。