在 MyAdapter 类中定义WeakHashMap<Integer, View> map = new WeakHashMap<Integer, View>(); 然后再getView()方法中加上 convertview=map.get(i)(此句加在方法的最前面); map.put(i, con);(此句加在方法的最后面也就是return con的前面)就OK了!注意红色代码!
示例如下:
@Override
public View getView(int i, View con, ViewGroup parent) {
con=map.get(i); //注意位置
if (con == null) {
holder = new Holder();
con = inflater.inflate(R.layout.main_list_item, null);
holder.img = (ImageView) con
.findViewById(R.id.main_list_item_img888);
holder.jobName = (TextView) find(con,
R.id.main_list_item_jobname888);
holder.place = (TextView) find(con, R.id.main_list_item_place888);
holder.salary = (TextView) find(con, R.id.main_list_item_salary888);
holder.time = (TextView) find(con, R.id.main_list_item_posttime888);
con.setTag(holder);
} else
holder = (Holder) con.getTag();
JobBean bean = jobBeans.get(i);
String url = bean.getJobimg();
FinalBitmap map1=FinalBitmap.create(mContext);//afinal 框架中的类,可以在网上查查导入这个jar包就可以用了!
map1.display(holder.img, url);
holder.jobName.setText(bean.getJobname());
holder.place
.setText(bean.getWorkingcity() + " " + bean.getWorkregion());
holder.salary.setText(bean.getJobsalary());
............
map.put(i, con); //注意位置
return con;
}