package com.yeshi.ec.rebate.myapplication.ui.mine;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.graphics.Color;
|
import android.graphics.drawable.GradientDrawable;
|
import android.support.v7.widget.GridLayoutManager;
|
import android.support.v7.widget.RecyclerView;
|
import android.text.Html;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
import com.yeshi.ec.rebate.myapplication.R;
|
import com.yeshi.ec.rebate.myapplication.entity.RedpacketRecord;
|
import com.yeshi.ec.rebate.myapplication.ui.recommend.GoodsDetailActivityTB;
|
import com.yeshi.ec.rebate.myapplication.util.GlideRoundTransform;
|
import com.yeshi.ec.rebate.myapplication.util.ImageUtil;
|
|
import java.util.List;
|
|
/**
|
* 红包明细-创建记录
|
*/
|
class CreateRecordingAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
private RecyclerView mRecyclerView;
|
private List<RedpacketRecord> mList;
|
private Context mContext;
|
private View VIEW_FOOTER;
|
private View VIEW_HEADER;
|
|
//Type
|
private int TYPE_NORMAL = 1000;
|
private int TYPE_HEADER = 1001;
|
private int TYPE_FOOTER = 1002;
|
|
public CreateRecordingAdapter(Context context, List<RedpacketRecord> list) {
|
this.mList = list;
|
this.mContext = context;
|
}
|
|
@Override
|
public CreateRecordingAdapter.MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
if (viewType == TYPE_FOOTER) {
|
return new MyHolder(VIEW_FOOTER);
|
} else if (viewType == TYPE_HEADER) {
|
return new MyHolder(VIEW_HEADER);
|
} else {
|
View view = LayoutInflater.from(mContext).inflate(R.layout.item_createrecording, parent, false);
|
MyHolder holder = new MyHolder(view);
|
return holder;
|
}
|
}
|
|
@Override
|
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
|
MyHolder viewHolder = (MyHolder) holder;
|
if (!isHeaderView(position) && !isFooterView(position)) {
|
final RedpacketRecord data;
|
if (haveHeaderView()) {
|
data = mList.get(position - 1);
|
} else if (haveFooterView() && ((haveHeaderView() && position == mList.size() + 1) ||
|
!haveHeaderView() && position == mList.size())) {
|
return;
|
} else {
|
data = mList.get(position);
|
}
|
//头像
|
// ImageLoader.getInstance().displayImage(data.getString("pictUrl"), viewHolder.item_createrecording_img, options);
|
Glide.with(mContext).load(data.getPictUrl())
|
.placeholder(R.drawable.ic_goods_default).error(R.drawable.ic_goods_default)
|
.transform(new GlideRoundTransform(mContext, 8))
|
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
.into(viewHolder.item_createrecording_img);
|
//标题
|
ImageUtil.showImageFace(mContext, data.getTitle(),
|
data.getUserType(), viewHolder.item_createrecording_title);
|
viewHolder.item_createrecording_sum1.setText(data.getWinNum() + "");// 已领取
|
viewHolder.item_createrecording_sum2.setText(data.getUseNum() + "");// 已使用
|
viewHolder.item_createrecording_sum3.setText(data.getRefundNum() + "");// 已退回
|
viewHolder.item_createrecording_time.setText(" " + data.getCreateTime());
|
// 预估
|
viewHolder.item_createrecording_share.setText(data.getDesc().getContent());
|
viewHolder.item_createrecording_share.setTextColor(Color.parseColor(data.getDesc().getColor()));
|
GradientDrawable p = (GradientDrawable) viewHolder.item_createrecording_share.getBackground();
|
p.setColor(Color.parseColor(data.getDesc().getBottomColor()));
|
// viewHolder.item_createrecording_share.setBackgroundColor(Color.parseColor(desc.getString("bottomColor")));
|
|
viewHolder.item_createrecording_last_title.setText(Html.fromHtml("共创建/剩余(个):<font color= #333333>" + data.getTotalNum() + "</font>/<font color= #F35E5E>" +
|
data.getSurplusNum() + "</font>"));
|
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent;
|
intent = new Intent(mContext, GoodsDetailActivityTB.class);
|
intent.putExtra("title", data.getTitle());
|
intent.putExtra("id", data.getAuctionId() + "");
|
intent.putExtra("from", "创建记录");
|
mContext.startActivity(intent);
|
// intent.putExtra("url", info.getAuctionUrl());
|
|
}
|
});
|
}
|
}
|
|
@Override
|
public int getItemCount() {
|
int count = (mList == null ? 0 : mList.size());
|
if (VIEW_FOOTER != null) {
|
count++;
|
}
|
|
if (VIEW_HEADER != null) {
|
count++;
|
}
|
return count;
|
}
|
|
@Override
|
public int getItemViewType(int position) {
|
if (isHeaderView(position)) {
|
return TYPE_HEADER;
|
} else if (isFooterView(position)) {
|
return TYPE_FOOTER;
|
} else {
|
return TYPE_NORMAL;
|
}
|
}
|
|
@Override
|
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
|
try {
|
if (mRecyclerView == null && mRecyclerView != recyclerView) {
|
mRecyclerView = recyclerView;
|
}
|
ifGridLayoutManager();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
public void addHeaderView(View headerView) {
|
if (haveHeaderView()) {
|
throw new IllegalStateException("hearview has already exists!");
|
} else {
|
//避免出现宽度自适应
|
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
headerView.setLayoutParams(params);
|
VIEW_HEADER = headerView;
|
ifGridLayoutManager();
|
notifyItemInserted(0);
|
}
|
|
}
|
|
public void addFooterView(View footerView) {
|
if (haveFooterView()) {
|
throw new IllegalStateException("footerView has already exists!");
|
} else {
|
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
footerView.setLayoutParams(params);
|
VIEW_FOOTER = footerView;
|
ifGridLayoutManager();
|
notifyItemInserted(getItemCount() - 1);
|
}
|
}
|
|
private void ifGridLayoutManager() {
|
if (mRecyclerView == null) return;
|
final RecyclerView.LayoutManager layoutManager = mRecyclerView.getLayoutManager();
|
if (layoutManager instanceof GridLayoutManager) {
|
((GridLayoutManager) layoutManager).setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
|
@Override
|
public int getSpanSize(int position) {
|
if (isHeaderView(position) || isFooterView(position)) {
|
return ((GridLayoutManager) layoutManager).getSpanCount();
|
} else {
|
return 1;
|
}
|
}
|
});
|
}
|
}
|
|
private boolean haveHeaderView() {
|
return VIEW_HEADER != null;
|
}
|
|
public boolean haveFooterView() {
|
return VIEW_FOOTER != null;
|
}
|
|
private boolean isHeaderView(int position) {
|
return haveHeaderView() && position == 0;
|
}
|
|
private boolean isFooterView(int position) {
|
return haveFooterView() && position >= getItemCount() - 1;
|
}
|
|
public class MyHolder extends RecyclerView.ViewHolder {
|
private ImageView item_createrecording_img;
|
private TextView item_createrecording_title;
|
private TextView item_createrecording_last_title;
|
private TextView item_createrecording_sum1;//适用
|
private TextView item_createrecording_sum2;//领取
|
private TextView item_createrecording_sum3;//退回
|
private TextView item_createrecording_time;//时间
|
private TextView item_createrecording_share;//分享奖金
|
|
public MyHolder(View convertView) {
|
super(convertView);
|
item_createrecording_img = convertView.findViewById(R.id.item_createrecording_img);
|
item_createrecording_title = convertView.findViewById(R.id.item_createrecording_title);
|
item_createrecording_last_title = convertView.findViewById(R.id.item_createrecording_last_title);
|
item_createrecording_sum1 = convertView.findViewById(R.id.item_createrecording_sum1);
|
item_createrecording_sum2 = convertView.findViewById(R.id.item_createrecording_sum2);
|
item_createrecording_sum3 = convertView.findViewById(R.id.item_createrecording_sum3);
|
item_createrecording_time = convertView.findViewById(R.id.item_createrecording_time);
|
item_createrecording_share = convertView.findViewById(R.id.item_createrecording_share);
|
}
|
}
|
|
}
|