使用自定的Adapter显示数据
来源:互联网 发布:书同文数据库免费入口 编辑:程序博客网 时间:2024/06/05 08:30
package com.easaa.adapter;
import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.easaa.Ibean.ProductListBean;
import com.easaa.image.AsyncImageLoader;
import com.easaa.image.AsyncImageLoader.ImageCallback;
import com.easaa.s00000002.R;
public class Product_Adapter extends BaseAdapter{
private ArrayList<ProductListBean> product_list;//封装一个Bean放在List中
private LayoutInflater inflater;//声明一个布局提取器
private AsyncImageLoader imageLoader = new AsyncImageLoader();//实例化缓存对象
private ListView listview;
public Product_Adapter(Context context,ArrayList<ProductListBean> product_list,ListView listview){
super();
this.product_list = product_list;
this.listview = listview;
inflater = LayoutInflater.from(context);
}
//定义一个方法,将Bean里的数据放在List中
public void addData(ProductListBean product_list_result){
product_list.add(product_list_result);
// this.notifyDataSetChanged();
}
public int getCount() {
return product_list.size();
}
public Object getItem(int arg0) {
return arg0;
}
public long getItemId(int arg0) {
return arg0;
}
public View getView(int arg0, View convertView, ViewGroup arg2) {
ViewHolder viewHolder = null;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.list_item_myfavorite, null);
viewHolder.imageView = (ImageView)convertView.findViewById(R.id.picture);
viewHolder.title = (TextView)convertView.findViewById(R.id.title);
viewHolder.price = (TextView)convertView.findViewById(R.id.price);
convertView.setTag(viewHolder);
}else {
viewHolder = (ViewHolder)convertView.getTag();
}
String imageTrueUrl = product_list.get(arg0).getPic();
// int i = imageTrueUrl.lastIndexOf("/");
// imageTrueUrl = imageTrueUrl.substring(0, i)+"/s-150-150-"+imageTrueUrl.substring(i+1);
viewHolder.imageView.setTag(imageTrueUrl);
Drawable cachedImage = imageLoader.loadDrawable(imageTrueUrl,
new ImageCallback() {
public void imageLoaded(Drawable imageDrawable,
String imageUrl) {
// TODO Auto-generated method stub
ImageView imageViewByTag = (ImageView) listview.findViewWithTag(imageUrl);
if (imageViewByTag != null) {
imageViewByTag.setImageDrawable(imageDrawable);
}
}
});
viewHolder.imageView.setImageDrawable(cachedImage);
viewHolder.title.setText(product_list.get(arg0).getName());
viewHolder.price.setText(product_list.get(arg0).getVipprice()+"");
return convertView;
}
private class ViewHolder{
ImageView imageView;
TextView title;
TextView price;
}
import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.easaa.Ibean.ProductListBean;
import com.easaa.image.AsyncImageLoader;
import com.easaa.image.AsyncImageLoader.ImageCallback;
import com.easaa.s00000002.R;
public class Product_Adapter extends BaseAdapter{
private ArrayList<ProductListBean> product_list;//封装一个Bean放在List中
private LayoutInflater inflater;//声明一个布局提取器
private AsyncImageLoader imageLoader = new AsyncImageLoader();//实例化缓存对象
private ListView listview;
public Product_Adapter(Context context,ArrayList<ProductListBean> product_list,ListView listview){
super();
this.product_list = product_list;
this.listview = listview;
inflater = LayoutInflater.from(context);
}
//定义一个方法,将Bean里的数据放在List中
public void addData(ProductListBean product_list_result){
product_list.add(product_list_result);
// this.notifyDataSetChanged();
}
public int getCount() {
return product_list.size();
}
public Object getItem(int arg0) {
return arg0;
}
public long getItemId(int arg0) {
return arg0;
}
public View getView(int arg0, View convertView, ViewGroup arg2) {
ViewHolder viewHolder = null;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.list_item_myfavorite, null);
viewHolder.imageView = (ImageView)convertView.findViewById(R.id.picture);
viewHolder.title = (TextView)convertView.findViewById(R.id.title);
viewHolder.price = (TextView)convertView.findViewById(R.id.price);
convertView.setTag(viewHolder);
}else {
viewHolder = (ViewHolder)convertView.getTag();
}
String imageTrueUrl = product_list.get(arg0).getPic();
// int i = imageTrueUrl.lastIndexOf("/");
// imageTrueUrl = imageTrueUrl.substring(0, i)+"/s-150-150-"+imageTrueUrl.substring(i+1);
viewHolder.imageView.setTag(imageTrueUrl);
Drawable cachedImage = imageLoader.loadDrawable(imageTrueUrl,
new ImageCallback() {
public void imageLoaded(Drawable imageDrawable,
String imageUrl) {
// TODO Auto-generated method stub
ImageView imageViewByTag = (ImageView) listview.findViewWithTag(imageUrl);
if (imageViewByTag != null) {
imageViewByTag.setImageDrawable(imageDrawable);
}
}
});
viewHolder.imageView.setImageDrawable(cachedImage);
viewHolder.title.setText(product_list.get(arg0).getName());
viewHolder.price.setText(product_list.get(arg0).getVipprice()+"");
return convertView;
}
private class ViewHolder{
ImageView imageView;
TextView title;
TextView price;
}
}
继承BaseAdapter,实现里的方法,重点是getView()方法。实现此方法的步骤:
1.要判断viewHolder 是否为空。
2.提取布局,
3.convertView.setTag(viewHolder);绑定数据
- 使用自定的Adapter显示数据
- listView 的使用 (自定应使用Adapter)
- 显示日程的自定日历
- 在使用xib自定UIView时里面的tableView不显示问题
- android 自定属性的使用
- 自定RatingBar显示不全
- DataGrid中使用CheckBox时根据帮定的数据显示不同的效果
- 自定的日历
- AJAXPRO.NET中使用自定类型集合的方法
- AJAXPRO.NET中使用自定类型集合的方法
- 【Android基础】数据适配器Adapter的使用
- Android 使用adapter的两种回调数据方式
- QQZiFramework笔记:entityTable与erp.public.js使用进阶(查询条件、自定义行显示)
- Android采用ListView实现列表数据的显示--Adapter应用
- 自定类的排序
- Excel自定输入数据下拉列表
- adapter的主页显示
- 使用 asp.net 2.0 自带的TreeView控件显示内联表数据(树状数据)
- box-shadow阴影效果的使用
- Android 加载图片并存放在缓存中
- Hadoop添加删除节点
- java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
- java面向对象下:JavaXML解析技术
- 使用自定的Adapter显示数据
- 指针
- Hibernate视频教程
- DBMS_MONITOR简单使用介绍
- 虚方法实现多态 C#中的5种访问修饰符
- 黑马程序员-交通灯管理系统
- const用法分析
- 立贴为证!
- 静态方法 静态类 static