package com.mugua.mgvideo.ui.category;
|
|
import java.util.List;
|
|
import android.content.Context;
|
import android.content.Intent;
|
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.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.mugua.mgvideo.R;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.mugua.mgvideo.ui.common.VideosLiveActivity;
|
import com.yeshi.base.entity.video.VideoType;
|
|
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
|
|
/**
|
* 热门分类适配器
|
*
|
* @author Mr.Zhou
|
*/
|
public class ChannelAdapterHot extends BaseAdapter {
|
private ImageLoader imageLoader = ImageLoader.getInstance();
|
private List<VideoType> list;
|
private Context context;
|
private DisplayImageOptions options;
|
|
private Glide glide;
|
|
public ChannelAdapterHot(List<VideoType> list, Context context) {
|
this.list = list;
|
this.context = context;
|
this.options = new DisplayImageOptions.Builder()
|
// .showImageForEmptyUri(R.drawable.splace)
|
// .showImageOnFail(R.drawable.splace)
|
// .showImageOnLoading(R.drawable.splace)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
if (list == null) {
|
return 0;
|
} else {
|
if (list.size() % 2 == 1) {// 为奇数
|
return list.size() + 1;
|
} else {
|
return list.size();
|
}
|
}
|
}
|
|
@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;
|
if (convertView == null) {
|
convertView = LayoutInflater.from(context).inflate(
|
R.layout.item_category_channel_hot_gv, null);
|
viewHolder = new ViewHolder();
|
viewHolder.iv_icon = (ImageView) convertView
|
.findViewById(R.id.item_channel_gv_hot_iv);
|
viewHolder.tv_name = (TextView) convertView
|
.findViewById(R.id.item_channel_gv_hot_tv);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
try {// 由于添加一行空的数据
|
VideoType bean = list.get(position);
|
// imageLoader.displayImage(bean.getIcon(), viewHolder.iv_icon,
|
// options);
|
Glide.with(context).load(bean.getIcon()).transition(withCrossFade())
|
.into(viewHolder.iv_icon);
|
viewHolder.tv_name.setText(bean.getName());
|
toVidesActivity(position, convertView);
|
return convertView;
|
} catch (Exception e) {
|
convertView.setClickable(false);
|
return convertView;
|
}
|
|
}
|
|
// 跳转到视频分类页
|
private void toVidesActivity(final int position, View convertView) {
|
convertView.setOnClickListener(new OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (list.get(position).getName().equals("美女")) {
|
Intent intent = new Intent(context,
|
VideosLiveActivity.class);
|
intent.putExtra("home_type", list.get(position).getId());
|
intent.putExtra("title", list.get(position).getName());
|
context.startActivity(intent);
|
} else {
|
Intent intent = new Intent(context, MVideosActivity.class);
|
intent.putExtra("video_type", list.get(position));
|
context.startActivity(intent);
|
}
|
}
|
});
|
}
|
|
static class ViewHolder {
|
TextView tv_name;
|
ImageView iv_icon;
|
}
|
|
}
|