import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.util.LruCache;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import com.lanou.myapp.R;
import com.lanou.myapp.comic.recommendedcomic.ComicsBeans;
import java.util.List;
/**
* Created by dllo on 16/1/14.
*/
public class ListNewsAdapter extends BaseAdapter{
private List<Items> data;
private Context context;
private ImageLoader imageLoader;
private RequestQueue queue;
private LruCache<String, Bitmap> lruCache;
private ImageLoader.ImageCache imageCache;
final int TYPE_1 = 0;
final int TYPE_2 = 1;
public ListNewsAdapter(Context context) {
this.context = context;
init();
}
private void init() {
queue = Volley.newRequestQueue(context);
lruCache = new LruCache<String, Bitmap>(20);
imageCache = new ImageLoader.ImageCache() {
@Override
public Bitmap getBitmap(String url) {
return lruCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
lruCache.put(url, bitmap);
}
};
imageLoader = new ImageLoader(queue, imageCache);
}
@Override
public int getCount() {
return data.size();
}
@Override
public int getItemViewType(int position) {
int p = data.get(position).getIsext();
if (p == 0){
return TYPE_1;
}else {
return TYPE_2;
}
import android.graphics.Bitmap;
import android.support.v4.util.LruCache;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import com.lanou.myapp.R;
import com.lanou.myapp.comic.recommendedcomic.ComicsBeans;
import java.util.List;
/**
* Created by dllo on 16/1/14.
*/
public class ListNewsAdapter extends BaseAdapter{
private List<Items> data;
private Context context;
private ImageLoader imageLoader;
private RequestQueue queue;
private LruCache<String, Bitmap> lruCache;
private ImageLoader.ImageCache imageCache;
final int TYPE_1 = 0;
final int TYPE_2 = 1;
public ListNewsAdapter(Context context) {
this.context = context;
init();
}
private void init() {
queue = Volley.newRequestQueue(context);
lruCache = new LruCache<String, Bitmap>(20);
imageCache = new ImageLoader.ImageCache() {
@Override
public Bitmap getBitmap(String url) {
return lruCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
lruCache.put(url, bitmap);
}
};
imageLoader = new ImageLoader(queue, imageCache);
}
@Override
public int getCount() {
return data.size();
}
@Override
public int getItemViewType(int position) {
int p = data.get(position).getIsext();
if (p == 0){
return TYPE_1;
}else {
return TYPE_2;
}
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder1 viewHolder1 = null;
ViewHolder2 viewHolder2 = null;
int type = getItemViewType(position);
if (convertView == null){
switch (type){
case TYPE_1:
convertView = LayoutInflater.from(context).inflate(R.layout.item_recommended_news_list1,null);
viewHolder1 = new ViewHolder1();
viewHolder1.tv_title_list1 = (TextView) convertView.findViewById(R.id.tv_title_recommended_news_list1);
viewHolder1.iv_png_list1 = (ImageView) convertView.findViewById(R.id.iv_recommended_news_list1);
convertView.setTag(viewHolder1);
break;
case TYPE_2:
convertView = LayoutInflater.from(context).inflate(R.layout.item_recommended_news_list2,null);
viewHolder2 = new ViewHolder2();
viewHolder2.tv_title_list2 = (TextView) convertView.findViewById(R.id.tv_title_recommended_news_list2);
viewHolder2.iv_png1_list2 = (ImageView) convertView.findViewById(R.id.iv_picture2_list2);
viewHolder2.iv_png2_list2 = (ImageView) convertView.findViewById(R.id.iv_picture1_list2);
viewHolder2.iv_png3_list2 = (ImageView) convertView.findViewById(R.id.iv_picture3_list2);
convertView.setTag(viewHolder2);
break;
}
}
else {
switch (type){
case TYPE_1:
viewHolder1 = (ViewHolder1) convertView.getTag();
break;
case TYPE_2:
viewHolder2 = (ViewHolder2) convertView.getTag();
break;
}
}
//加入资源
switch (type){
case TYPE_1:
String imgUrl = data.get(position).getThumb();
getBitmapCache(imgUrl, viewHolder1.iv_png_list1);
viewHolder1.tv_title_list1.setText(data.get(position).getTitle());
break;
case TYPE_2:
String imgUrl_1 = data.get(position).getExtra().get(0);
getBitmapCache(imgUrl_1, viewHolder2.iv_png1_list2);
viewHolder2.tv_title_list2.setText(data.get(position).getTitle());
break;
}
return convertView;
}
public void addData(List<Items> data) {
this.data = data;
notifyDataSetChanged();
}
public void getBitmapCache(String imgUrl, ImageView imageView) {
ImageLoader.ImageListener listener = ImageLoader.getImageListener(imageView, R.mipmap.img_lauch_bitch,
R.mipmap.img_lauch_bitch);
imageLoader.get(imgUrl, listener, 300, 300);
}
class ViewHolder1{
private TextView tv_title_list1;
private ImageView iv_png_list1;
}
class ViewHolder2{
private TextView tv_title_list2;
private ImageView iv_png1_list2;
private ImageView iv_png2_list2;
private ImageView iv_png3_list2;
}
}