package com.example.adapter;
import java.util.List;
import com.example.myinfo.MyNewsInfo;
import com.example.utils.LoadImg;
import com.example.utils.LoadImg.ImageDownloadCallBack;
import com.example.weixinpublicnumber.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter {
private Context ctx;
private List<MyNewsInfo> list;
private LoadImg loadImg;
private String url = "http://534429149.haoqie.net/qiubai/Userimg/";
public MyAdapter(Context ctx, List<MyNewsInfo> list) {
this.ctx = ctx;
this.list = list;
// 实例化获取图片的类
loadImg = new LoadImg(ctx);
}
@Override
public int getItemViewType(int position) {
if (list.get(position).getType().equals("1")) {
return 0;
} else {
return 1;
}
}
@Override
public int getViewTypeCount() {
// 因为有两种视图,所以返回2
return 2;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int arg0) {
return list.get(arg0);
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(final int arg0, View arg1, ViewGroup arg2) {
final Holder hold;
if (arg1 == null) {
hold = new Holder();
if (getItemViewType(arg0) == 0) {
arg1 = View.inflate(ctx, R.layout.mylistview_item_one, null);
hold.text = (TextView) arg1
.findViewById(R.id.mylistview_item_text);
hold.img = (ImageView) arg1
.findViewById(R.id.mylistview_item_img);
} else if (getItemViewType(arg0) == 1) {
arg1 = View.inflate(ctx, R.layout.mylistview_item_two, null);
hold.text = (TextView) arg1
.findViewById(R.id.mylistview_item_text);
hold.img = (ImageView) arg1
.findViewById(R.id.mylistview_item_img);
hold.listBottomMargin = (RelativeLayout) arg1
.findViewById(R.id.listBottomMargin);
}
arg1.setTag(hold);
} else {
hold = (Holder) arg1.getTag();
}
hold.text.setText(list.get(arg0).getText());
if (arg0 == list.size() - 1) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 16);
hold.listBottomMargin.setLayoutParams(params);
}
// 设置默认显示的图片
hold.img.setImageDrawable(null);
// 网络获取图片
Log.e("liuxiaowei", url + list.get(arg0).getImg());
hold.img.setTag(url + list.get(arg0).getImg());
Bitmap bit = loadImg.loadImage(hold.img, url + list.get(arg0).getImg(),
new ImageDownloadCallBack() {
public void onImageDownload(ImageView imageView,
Bitmap bitmap) {
// 网络交互时回调进来防止错位
if (hold.img.getTag().equals(
url + list.get(arg0).getImg())) {
// 设置网络下载回来图片显示
hold.img.setImageBitmap(bitmap);
}
}
});
// 从本地获取的
if (bit != null) {
// 设置缓存图片显示
hold.img.setImageBitmap(bit);
}
return arg1;
}
static class Holder {
TextView text;
ImageView img;
RelativeLayout listBottomMargin;
}
}
import java.util.List;
import com.example.myinfo.MyNewsInfo;
import com.example.utils.LoadImg;
import com.example.utils.LoadImg.ImageDownloadCallBack;
import com.example.weixinpublicnumber.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter {
private Context ctx;
private List<MyNewsInfo> list;
private LoadImg loadImg;
private String url = "http://534429149.haoqie.net/qiubai/Userimg/";
public MyAdapter(Context ctx, List<MyNewsInfo> list) {
this.ctx = ctx;
this.list = list;
// 实例化获取图片的类
loadImg = new LoadImg(ctx);
}
@Override
public int getItemViewType(int position) {
if (list.get(position).getType().equals("1")) {
return 0;
} else {
return 1;
}
}
@Override
public int getViewTypeCount() {
// 因为有两种视图,所以返回2
return 2;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int arg0) {
return list.get(arg0);
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(final int arg0, View arg1, ViewGroup arg2) {
final Holder hold;
if (arg1 == null) {
hold = new Holder();
if (getItemViewType(arg0) == 0) {
arg1 = View.inflate(ctx, R.layout.mylistview_item_one, null);
hold.text = (TextView) arg1
.findViewById(R.id.mylistview_item_text);
hold.img = (ImageView) arg1
.findViewById(R.id.mylistview_item_img);
} else if (getItemViewType(arg0) == 1) {
arg1 = View.inflate(ctx, R.layout.mylistview_item_two, null);
hold.text = (TextView) arg1
.findViewById(R.id.mylistview_item_text);
hold.img = (ImageView) arg1
.findViewById(R.id.mylistview_item_img);
hold.listBottomMargin = (RelativeLayout) arg1
.findViewById(R.id.listBottomMargin);
}
arg1.setTag(hold);
} else {
hold = (Holder) arg1.getTag();
}
hold.text.setText(list.get(arg0).getText());
if (arg0 == list.size() - 1) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 16);
hold.listBottomMargin.setLayoutParams(params);
}
// 设置默认显示的图片
hold.img.setImageDrawable(null);
// 网络获取图片
Log.e("liuxiaowei", url + list.get(arg0).getImg());
hold.img.setTag(url + list.get(arg0).getImg());
Bitmap bit = loadImg.loadImage(hold.img, url + list.get(arg0).getImg(),
new ImageDownloadCallBack() {
public void onImageDownload(ImageView imageView,
Bitmap bitmap) {
// 网络交互时回调进来防止错位
if (hold.img.getTag().equals(
url + list.get(arg0).getImg())) {
// 设置网络下载回来图片显示
hold.img.setImageBitmap(bitmap);
}
}
});
// 从本地获取的
if (bit != null) {
// 设置缓存图片显示
hold.img.setImageBitmap(bit);
}
return arg1;
}
static class Holder {
TextView text;
ImageView img;
RelativeLayout listBottomMargin;
}
}