ListView
来源:互联网 发布:打开本机端口 编辑:程序博客网 时间:2024/06/05 05:17
ListView的显示和缓存机制
总结来讲:
需要才显示,显示完就被回收到缓冲池中。
BaseAdapter
构造方法要传一个context,要不要传list?不一定?传了好像也没用
public MyAdapter(Context context) { this.mInflater = LayoutInflater.from(context); }
SimpleAdapter
new SimpleAdapter(context, data, resource, from, to); //参数:上下文; //data数据源:List<? extends Map<String ?>>,一个由map所组成的list集合.每一个map对应listview列表中的一行;每一个map中的键必须包含所有在from中指定的键 //resource:列表项布局文件对应的id,R.id.item //from:map中的键名(自己取),new String[] { "image", "text" } //to:绑定数据视图中的组件id,与from对应.new int[] { R.id.image,R.id.text }// 加载SimpleAdapter数据源private List<Map<String, Object>> getData() { list = new ArrayList<Map<String, Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("text", "java"); map.put("image", R.drawable.ic_launcher); list.add(map);
ArrayAdapter
//参数:泛型;上下文;listview加载的每一个列表项对应的布局文件;数据源 new ArrayAdapter<T>(context, textViewResourceId, data);
监听器
1.onItemClickListener:监听单个条目的点击事件
//注意是item listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { listView.getItemAtPosition(position);//返回一个条目对象(object)//position从0开始 } });`
2.onScrollListener:监听滚动变化,在滚动中加载数据
listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { //手指按在屏幕上,正在滑动 case SCROLL_STATE_TOUCH_SCROLL: break; //手指离开屏幕前用力的滑动 case SCROLL_STATE_FLING: break; //停止滑动 case SCROLL_STATE_IDLE: break; default: break; } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { //? }});
0 0
- listview
- listview
- listview
- ListView
- ListView
- listview
- listview
- listView
- ListView
- ListView
- ListView
- listview
- LIstView
- ListView
- listview
- ListView
- ListView
- ListView
- WebView
- Linux中的service命令
- Android动画之Tween Animation
- py2exe打包matplotlib
- 你们是不是很缺大数据工程师?
- ListView
- leetcode 13 罗马数字转10进制
- ToggleButton和RadioButton
- 判断内存地址是否缺页
- 【Linux】Ubuntu装好之后出现插入网线被提示没有插入网线情况的解决方案
- 定义 Android 清单
- php curl使用小示例
- STM32-LPC bug汇总
- 系统更改