Android:对ListView原理的理解
来源:互联网 发布:赈灾晚会的数据统计 编辑:程序博客网 时间:2024/04/30 15:30
由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以借助ListView来实现。ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。使用列表显示数据的显示需要三个元素:
1.ListVeiw: 用来展示列表的View。
2.适配器 : 用来把数据映射到ListView上
3.数据: 具体的将被映射的字符串,图片,或者基本组件。
ListView 针对每个item,要求 adapter “返回一个视图” (getView),也就是说ListView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到ListView的长度,然后根据这个长度,调用getView()一行一行的绘制ListView的每一项。如果你的getCount()返回值是0的话,列表一行都不会显示,如果返回1,就只显示一行。返回几则显示几行。
在编写过程中遇到一些问题,代码如下:
private ListView list_view; private List<FruitBean> fruitList = new ArrayList<FruitBean>();protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FruitAdapter adapter = new FruitAdapter(this, R.layout.fruit_item,fruitList); list_view = (ListView) findViewById(R.id.list_view); list_view.setAdapter(adapter); initFruit();//向fruitList添加数据}
initFruit();放在list_view.setAdapter(adapter);之后还可以正常显示数据,这是为什么呢???ListView开始绘制,绘制时首先会调用getCount()函数,根据他的返回值得到ListView的长度。
android sdk对getCount()的解释
public abstract int getCount ()How many items are in the data set represented by this Adapter.ReturnsCount of items.
所以getCount()返回的就是fruitList的大小,只要initFruit()放在onCreate(),onStart(),onResume()三个函数就ListView就可以正常显示这是因为ListView开始绘制是在Activity执行完onCreate(),onStart(),onResume()这三个函数才开始绘制。
- Android:对ListView原理的理解
- 对Android ListView的理解
- 对listView的理解
- 对ListView新的理解
- 对JavaScript原理的理解
- 对XListView 原理的理解
- 对xgboost原理的理解
- 对控件ListView的理解与使用
- Android ListView BaseAdapter的理解
- 对Android的理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解,androidlistview
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- 关于Scroller的学习及相关的知识笔记get
- XFire发布Web Services
- 移动开发的软件开发生命周期介绍(一)
- 杭州电子科技大学acm--2090
- 【软考】-数据库
- Android:对ListView原理的理解
- 简单理解Java异常处理机制
- PHP的常量及变量
- [LeetCode-88] Merge Sorted Array(合并有序数组)
- KNN的MATLAB实现
- 【LeetCode从零单刷】Gray Code
- ComposeShader组合渲染
- android入门(八) 状态栏通知(消息推送) Notification
- GIT问题,error:src refspec master does not match any