android listview优化
来源:互联网 发布:网络合作学习平台 编辑:程序博客网 时间:2024/06/04 01:04
listview的优化
代码如下:
class MyAdapter extends BaseAdapter{ //得到模型层中元素的数量,用来确定listview需要有多少个条目 @Override public int getCount() { // TODO Auto-generated method stub return newsList.size(); } @Override //返回一个View对象,作为listview的条目显示至界面,每当界面显示一个item,就会调用一次 public View getView(int position, View convertView, ViewGroup parent) { View v = null; ViewHolder mHolder; //优化1:判断条目是否有缓存,convertView 是view缓存,会将之前显示的item缓存起来 if(convertView == null){ //把布局文件填充成一个View对象 v = View.inflate(MainActivity.this, R.layout.item_listview, null); //获取布局填充器对象 // LayoutInflater inflater = LayoutInflater.from(MainActivity.this); // 使用布局填充器填充布局文件 // View v2 = inflater.inflate(R.layout.item_listview, null); // LayoutInflater inflater2 = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); // View v3 = inflater2.inflate(R.layout.item_listview, null); mHolder = new ViewHolder(); //把布局文件中所有组件的对象封装至ViewHolder对象中,避免每次调用getView()函数重新findViewById mHolder.tv_title = (TextView) v.findViewById(R.id.tv_title); mHolder.tv_detail = (TextView) v.findViewById(R.id.tv_detail); mHolder.tv_comment = (TextView) v.findViewById(R.id.tv_comment); mHolder.siv = (SmartImageView) v.findViewById(R.id.iv); //把ViewHolder对象封装至View对象中 v.setTag(mHolder); } else{ v = convertView; mHolder = (ViewHolder) v.getTag();//取出ViewHolder对象 } //给三个文本框设置内容 mHolder.tv_title.setText(news.getTitle()); mHolder.tv_detail.setText(news.getDetail()); mHolder.tv_comment.setText(news.getComment()); //给新闻图片imageview设置内容 mHolder.siv.setImageUrl(news.getImageUrl());//采用第三方图片下载库 return v; } //优化2: class ViewHolder{ //条目的布局文件中有什么组件,这里就定义什么属性 TextView tv_title; TextView tv_detail; TextView tv_comment; SmartImageView siv; } @Override public Object getItem(int position) { return null;//有需要时自己更改 } @Override public long getItemId(int position) { return 0;//有需要时自己更改 } }
0 0
- 【android 优化】listview优化原理
- [Android] ListView 效率优化
- Android ListView优化
- Android ListView内存优化
- Android:ListView优化
- Android ListView优化详解
- android listview 优化
- android ListView 性能优化
- Android ListView性能优化
- Android ListView优化
- android listview 性能优化
- android listView 滚动优化
- Android ListView 优化
- android优化listview
- Android之ListView优化
- Android ListView优化
- Android ListView优化总结
- android listview优化
- each() 函数
- 位运算基础及简单运用
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
- 服务器、客户端双认证
- Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
- android listview优化
- 自媒体推广的方法和技巧有哪些?
- Django的Helloworld
- soj 3085 windy's cake V 单调栈的应用
- tableView Crash
- 关于mysql数据库不出现名为mysql数据库的解决办法
- XAMPP: Another web server is already running
- AndroidStudio使用备忘:报错finished with non-zero exit value 2
- 服务器、客户端双认证(2)