package com.weikou.beibeivideo.ui.discover;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.util.Log;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.CheckBox;
|
import android.widget.FrameLayout;
|
import android.widget.ImageButton;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.RequestManager;
|
import com.lcjian.library.util.common.StringUtils;
|
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.weikou.beibeivideo.entity.GoodsInfo;
|
import com.weikou.beibeivideo.entity.VideoInfo;
|
import com.weikou.beibeivideo.ui.media.VideoDetailActivity;
|
import com.yeshi.buwanshequ.R;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class GoodsFavouriteAdapter extends BaseAdapter {
|
|
public interface IGetDeleteGoodSCallback {
|
public void onGetGoodsNum(int count);
|
}
|
|
private IGetDeleteGoodSCallback getdeleteNumber = null;
|
|
public void setDeleteCallback(IGetDeleteGoodSCallback getdeleteNumber) {
|
this.getdeleteNumber = getdeleteNumber;
|
}
|
|
private RequestManager glide;
|
|
private List<GoodsInfo> mlist;
|
|
private Context context;
|
|
private boolean mSelectedMode;
|
private List<Long> mSelectedIds;
|
private List<String> mThirdTypes;
|
|
public GoodsFavouriteAdapter(List<GoodsInfo> list, Context context) {
|
super();
|
this.mlist = list;
|
this.context = context;
|
this.mSelectedIds = new ArrayList<Long>();
|
this.mThirdTypes = new ArrayList<String>();
|
}
|
|
@Override
|
public int getCount() {
|
return mlist == null ? 0 : mlist.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mlist.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
final ViewHolder viewHolder;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.fav_item, parent, false);
|
viewHolder.iv_movie_cover = (ImageView) convertView
|
.findViewById(R.id.iv_cover);
|
viewHolder.tv_movie_title = (TextView) convertView
|
.findViewById(R.id.tv_title);
|
viewHolder.tv_movie_rating = (TextView) convertView
|
.findViewById(R.id.tv_watch_time);
|
viewHolder.fl_video_select = (FrameLayout) convertView
|
.findViewById(R.id.fl_video_select);
|
viewHolder.chb_delete = (CheckBox) convertView
|
.findViewById(R.id.chb_delete);
|
viewHolder.btn_delete = (ImageButton) convertView
|
.findViewById(R.id.btn_delete_download);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
glide = Glide.with(context);
|
GoodsInfo info = (GoodsInfo) getItem(position);
|
final Long id = Long.parseLong(info.getId());
|
// imageLoader.displayImage(videoInfo.getPicture(),
|
// viewHolder.iv_movie_cover);// GridVideoAdapter
|
try {
|
glide.load(info.getItem().getPict_url())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).crossFade()
|
.into(viewHolder.iv_movie_cover);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
viewHolder.tv_movie_title.setText(info.getItem().getTitle() + "");
|
viewHolder.tv_movie_rating.setText(info.getTitle() + "");
|
final GoodsInfo mInfo = info;
|
if (!mSelectedMode) {
|
viewHolder.fl_video_select.setVisibility(View.GONE);
|
convertView.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent(v.getContext(),
|
GoodsDetailActivity.class);
|
intent.putExtra("goodsId", mInfo.getId());
|
v.getContext().startActivity(intent);
|
}
|
});
|
} else {
|
viewHolder.fl_video_select.setVisibility(View.VISIBLE);
|
viewHolder.btn_delete.setVisibility(View.INVISIBLE);
|
viewHolder.chb_delete.setVisibility(View.VISIBLE);
|
convertView.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
if (mSelectedIds.contains(id)) {
|
mSelectedIds.remove(id);
|
} else {
|
mSelectedIds.add(id);
|
}
|
if (getdeleteNumber != null)
|
getdeleteNumber.onGetGoodsNum(mSelectedIds.size());
|
viewHolder.chb_delete.setChecked(mSelectedIds.contains(id));
|
}
|
});
|
viewHolder.chb_delete.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
if (mSelectedIds.contains(id)) {
|
mSelectedIds.remove(id);
|
} else {
|
mSelectedIds.add(id);
|
}
|
if (getdeleteNumber != null)
|
getdeleteNumber.onGetGoodsNum(mSelectedIds.size());
|
viewHolder.chb_delete.setChecked(mSelectedIds.contains(id));
|
}
|
});
|
viewHolder.chb_delete.setChecked(mSelectedIds.contains(id));
|
}
|
|
return convertView;
|
}
|
|
private static class ViewHolder {
|
ImageView iv_movie_cover;
|
TextView tv_movie_title;
|
TextView tv_movie_rating;
|
private FrameLayout fl_video_select;
|
|
private CheckBox chb_delete;
|
|
private ImageButton btn_delete;
|
}
|
|
public List<Long> getSelectedGoodsIds() {
|
return mSelectedIds;
|
}
|
|
public boolean isSelectedGoodsMode() {
|
return mSelectedMode;
|
}
|
|
public void setSelectedGoodsMode(boolean selectedMode) {
|
this.mSelectedMode = selectedMode;
|
notifyDataSetChanged();
|
}
|
|
public void selectGoodsAll() {
|
mSelectedIds.clear();
|
for (GoodsInfo info : mlist) {
|
mSelectedIds.add(Long.parseLong(info.getId()));
|
}
|
|
if (getdeleteNumber != null)
|
getdeleteNumber.onGetGoodsNum(mSelectedIds.size());
|
notifyDataSetChanged();
|
}
|
}
|