package com.weikou.beibeivideo.ui.category;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.RequestOptions;
|
import com.lcjian.library.util.glide.GlideCircleTransform;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.ui.category.bean.HotStar;
|
|
import java.util.List;
|
|
/**
|
* 分类明星中GridView的适配器
|
*
|
* @author Mr.Zhou
|
*/
|
public class NewStarAdapter extends BaseAdapter {
|
private List<HotStar> list;
|
private Context context;
|
private DisplayImageOptions options;
|
|
public NewStarAdapter(List<HotStar> list, Context context) {
|
super();
|
this.list = list;
|
this.context = context;
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_star_portrait_defailt)
|
.showImageOnFail(R.drawable.ic_star_portrait_defailt)
|
.showImageOnLoading(R.drawable.ic_star_portrait_defailt)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
if (list.size() % 3 == 0) {
|
return list == null ? 0 : (list.size() / 3);
|
} else if (list.size() % 3 == 1) {
|
return list == null ? 0 : (list.size() / 3 + 1);
|
} else {
|
return list == null ? 0 : (list.size() / 3 + 2);
|
}
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return list.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return 0;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder viewHolder;
|
int startP = position * 3;
|
if (list.size() <= startP)
|
return convertView;
|
HotStar info = list.get(startP);
|
HotStar info1 = null;
|
HotStar info2 = null;
|
if (startP + 1 < list.size()) {
|
info1 = list.get(startP + 1);
|
}
|
if (startP + 2 < list.size()) {
|
info2 = list.get(startP + 2);
|
}
|
if (convertView == null) {
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.item_category_star_gv, null);
|
viewHolder = new ViewHolder();
|
viewHolder.ll_star = (LinearLayout) convertView
|
.findViewById(R.id.ll_star);
|
viewHolder.iv_pic = (ImageView) convertView
|
.findViewById(R.id.item_star_iv);
|
viewHolder.tv_name = (TextView) convertView
|
.findViewById(R.id.item_star_tv);
|
viewHolder.ll_star1 = (LinearLayout) convertView
|
.findViewById(R.id.ll_star1);
|
viewHolder.iv_pic1 = (ImageView) convertView
|
.findViewById(R.id.item_star_iv1);
|
viewHolder.tv_name1 = (TextView) convertView
|
.findViewById(R.id.item_star_tv1);
|
viewHolder.ll_star2 = (LinearLayout) convertView
|
.findViewById(R.id.ll_star2);
|
viewHolder.iv_pic2 = (ImageView) convertView
|
.findViewById(R.id.item_star_iv2);
|
viewHolder.tv_name2 = (TextView) convertView
|
.findViewById(R.id.item_star_tv2);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
|
// imageLoader
|
// .displayImage(bean.getPortrait(), viewHolder.iv_pic, options);
|
|
if (info != null) {
|
try {
|
Glide.with(context).load(info.getPortrait())
|
.apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_star_portrait_defailt).error(R.drawable.ic_star_portrait_defailt).transform(new GlideCircleTransform(context)))
|
.into(viewHolder.iv_pic);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
viewHolder.tv_name.setText(info.getName());
|
toStarActivity(info.getId(), viewHolder.ll_star);
|
}
|
if (info1 != null) {
|
try {
|
Glide.with(context).load(info1.getPortrait())
|
.apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_star_portrait_defailt).error(R.drawable.ic_star_portrait_defailt).transform(new GlideCircleTransform(context)))
|
.into(viewHolder.iv_pic1);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
viewHolder.tv_name1.setText(info1.getName());
|
toStarActivity(info1.getId(), viewHolder.ll_star1);
|
}
|
if (info2 != null) {
|
try {
|
Glide.with(context).load(info2.getPortrait())
|
.apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_star_portrait_defailt).error(R.drawable.ic_star_portrait_defailt).transform(new GlideCircleTransform(context)))
|
.into(viewHolder.iv_pic2);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
viewHolder.tv_name2.setText(info2.getName());
|
toStarActivity(info2.getId(), viewHolder.ll_star2);
|
}
|
return convertView;
|
}
|
|
// 跳转到明星界面
|
private void toStarActivity(final String id, View convertView) {
|
convertView.setOnClickListener(new OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (list.size() == 0)
|
return;
|
Intent intent = new Intent(v.getContext(), StarDetailActivity.class);
|
Bundle bundle = new Bundle();
|
bundle.putString("star_id", id);
|
intent.putExtras(bundle);
|
v.getContext().startActivity(intent);
|
}
|
});
|
}
|
|
static class ViewHolder {
|
LinearLayout ll_star;
|
ImageView iv_pic;
|
TextView tv_name;
|
LinearLayout ll_star1;
|
ImageView iv_pic1;
|
TextView tv_name1;
|
LinearLayout ll_star2;
|
ImageView iv_pic2;
|
TextView tv_name2;
|
}
|
}
|