ListView的优化
2015-11-20 16:46
295 查看
package
com.example.chenac.listviewtest;
import
android.content.Context;
import
android.media.Image;
import
android.util.Log;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.ArrayAdapter;
import
android.widget.ImageView;
import
android.widget.TextView;
import
java.util.List;
/**
* Created by CHENAC on 10/8/2015.
*/
public class
FruitAdapter
extends
ArrayAdapter<Fruit> {
private int
resourceId;
public
FruitAdapter(Context context,
int
textViewResourceId, List<Fruit> objects) {
super(context, textViewResourceId, objects);
resourceId=textViewResourceId;
Log.d(
"FruitAdapter","11111111111111"
);
}
//在每个子项被滚动到屏幕内的时候会被调用
@Override
public
View getView(int
position,View convertView,ViewGroup parent){
Fruit fruit=getItem(position);//获取当前项的Fruit实例
View view;
ViewHolder viewHolder;
if
(convertView==null)
{
view = LayoutInflater.from
(getContext()).inflate(resourceId,
null);
//先取出一个单元行的View的布局
viewHolder=
new
ViewHolder();
viewHolder.fruitImage
= (ImageView) view.findViewById
(R.id.fruit_image);
viewHolder.fruitName
= (TextView) view.findViewById
(R.id.fruit_name);
view.setTag(viewHolder);
// 将ViewHolder存储在View中
}
else
{
view=convertView;
viewHolder = (ViewHolder) view.getTag();
// 重新获取ViewHolder
}
viewHolder.fruitImage.setImageResource(fruit.getImageId());
viewHolder.fruitName.setText(fruit.getName());
//设置名字
return
view;
}
class
ViewHolder{
ImageView
fruitImage;
TextView
fruitName;
}
}
com.example.chenac.listviewtest;
import
android.content.Context;
import
android.media.Image;
import
android.util.Log;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.ArrayAdapter;
import
android.widget.ImageView;
import
android.widget.TextView;
import
java.util.List;
/**
* Created by CHENAC on 10/8/2015.
*/
public class
FruitAdapter
extends
ArrayAdapter<Fruit> {
private int
resourceId;
public
FruitAdapter(Context context,
int
textViewResourceId, List<Fruit> objects) {
super(context, textViewResourceId, objects);
resourceId=textViewResourceId;
Log.d(
"FruitAdapter","11111111111111"
);
}
//在每个子项被滚动到屏幕内的时候会被调用
@Override
public
View getView(int
position,View convertView,ViewGroup parent){
Fruit fruit=getItem(position);//获取当前项的Fruit实例
View view;
ViewHolder viewHolder;
if
(convertView==null)
{
view = LayoutInflater.from
(getContext()).inflate(resourceId,
null);
//先取出一个单元行的View的布局
viewHolder=
new
ViewHolder();
viewHolder.fruitImage
= (ImageView) view.findViewById
(R.id.fruit_image);
viewHolder.fruitName
= (TextView) view.findViewById
(R.id.fruit_name);
view.setTag(viewHolder);
// 将ViewHolder存储在View中
}
else
{
view=convertView;
viewHolder = (ViewHolder) view.getTag();
// 重新获取ViewHolder
}
viewHolder.fruitImage.setImageResource(fruit.getImageId());
viewHolder.fruitName.setText(fruit.getName());
//设置名字
return
view;
}
class
ViewHolder{
ImageView
fruitImage;
TextView
fruitName;
}
}
相关文章推荐
- linux学习笔记<基本知识普及>
- 为Ubuntu 14.04右键添加终端的设置
- Aria2源代码分析——aria2 1.19.2
- 可变参数va_arg()
- 2015 年第七届全国大学生数学竞赛江西赛区获奖名单(数学专业)
- 一个简单的ajax对象
- ps基础实例
- IT人士装逼必备-vundle(适合IT狗,程序猿,运维狗)
- LightOJ 1050 - Marbles (概率dp)
- MongoDB数组或者对象数据查询
- listView的简单用法
- 原子性获取最大值
- MySQL记录存在则更新,不存在插入on duplicate key update
- 08(maven+SSH)之使用nexus搭建maven私有服务器
- mybatis自动生成对应model,dao,xml文件
- 用JS获取地址栏参数的方法(超级简单)
- 关联android-support-v4源码关联不上的解决办法
- 如何下载谷歌地球高程为TIF格式的文件
- __attribute__ 你知多少?
- resources.arsc格式(包->类型->资源项)