|
package com.electric.chargingpile.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.aspsine.irecyclerview.IViewHolder;
import com.electric.chargingpile.R;
import com.electric.chargingpile.data.TalkRecommendBean;
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
import com.electric.chargingpile.util.DensityUtil;
import com.electric.chargingpile.util.ScreenUtils;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
public class TalkRecommendHeaderAdapter extends RecyclerView.Adapter<IViewHolder> {
private Context context;
private LayoutInflater layoutInflater;
private RecyclerItemTypeClickListener onRecyclerItemClickListener;
private ArrayList<TalkRecommendBean> lists;
private int screenWidth;
private int talkRecommendWidth; // 推荐顶部话题的宽度
private int talkRecommendHeight; // 推荐顶部话题的高度
public TalkRecommendHeaderAdapter(Context context) {
this.context = context;
layoutInflater = LayoutInflater.from(context);
lists = new ArrayList<>();
screenWidth = ScreenUtils.getScreenWidth(context);
int width = DensityUtil.dip2px(context, 94);
int height = DensityUtil.dip2px(context, 85);
int margin = DensityUtil.dip2px(context, 30);
// 设置宽高
talkRecommendWidth = (int) ((screenWidth - margin) / 3.5);
talkRecommendHeight = (int) (talkRecommendWidth * height / width);
Log.d("come on2", "TalkRecommendHeaderAdapter: " + talkRecommendWidth);
Log.d("come on2", "TalkRecommendHeaderAdapter: " + talkRecommendHeight);
}
public void setData(ArrayList<TalkRecommendBean> datas) {
if (null == lists)
lists = new ArrayList<>();
else
lists.clear();
this.lists = datas;
notifyDataSetChanged();
}
public void addData(ArrayList<TalkRecommendBean> datas) {
if (null == lists)
lists = new ArrayList<>();
this.lists.addAll(datas);
notifyDataSetChanged();
}
public void clearDate() {
lists.clear();
notifyDataSetChanged();
}
public ArrayList<TalkRecommendBean> getCurrentData() {
return lists;
}
public void setOnRecyclerItemClickListener(RecyclerItemTypeClickListener onRecyclerItemClickListener) {
this.onRecyclerItemClickListener = onRecyclerItemClickListener;
}
@Override
public IViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = layoutInflater.inflate(R.layout.activity_talkrecommend_header_item, parent, false);
IViewHolder holder = new CollectionCarsHolder(view);
return holder;
}
@Override
public void onBindViewHolder(IViewHolder holder, int position) {
setToParentHolder(holder, position);
}
@Override
public int getItemCount() {
if (null == lists)
return 0;
return lists.size();
}
private void setToParentHolder(IViewHolder holder, int position) {
final CollectionCarsHolder collectionCarsHolder = (CollectionCarsHolder) holder;
final TalkRecommendBean talkRecommendBean = lists.get(position);
collectionCarsHolder.header_title.setText(talkRecommendBean.name);
if (talkRecommendBean.joinNums > 10000) {
String number = talkRecommendBean.joinNums + "";
String number1 = number.substring(0, 1);
String number2 = number.substring(1, 2);
collectionCarsHolder.header_title_joinin.setText(number1 + "." + number2 + "w参与");
} else {
collectionCarsHolder.header_title_joinin.setText(talkRecommendBean.joinNums + "参与");
}
int margin = 0;
if (position == 0) {
margin = DensityUtil.dip2px(context, 15);
} else {
margin = DensityUtil.dip2px(context, 5);
}
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams)collectionCarsHolder.cardview.getLayoutParams();
params.leftMargin = margin;
if (lists.size() == position + 1) {
params.rightMargin = DensityUtil.dip2px(context,15);
}
collectionCarsHolder.cardview.setLayoutParams(params);
if (!TextUtils.isEmpty(talkRecommendBean.coverImgUrl)) {
Picasso.with(context)
.load(talkRecommendBean.coverImgUrl)
.placeholder(R.color.color_888888)
.error(R.color.color_888888)
.into(collectionCarsHolder.iv_header_bg);
}
}
class CollectionCarsHolder extends IViewHolder {
private ImageView iv_header_bg;
private TextView header_title;
private TextView header_title_joinin;
private ImageView ivHeaderMask;
private RelativeLayout cardview;
public CollectionCarsHolder(View itemView) {
super(itemView);
iv_header_bg = (ImageView) itemView.findViewById(R.id.iv_header_bg);
header_title = (TextView) itemView.findViewById(R.id.header_title);
header_title_joinin = (TextView) itemView.findViewById(R.id.header_title_joinin);
ivHeaderMask = itemView.findViewById(R.id.iv_header_mask);
cardview = (RelativeLayout) itemView.findViewById(R.id.cardview);
// TODO change by hyg
// ViewGroup.LayoutParams rl = (ViewGroup.LayoutParams) cardview.getLayoutParams();
// rl.width = screenWidth / 4 + 50;
// rl.height = screenWidth / 4 + 10;
ivHeaderMask.setAlpha(0.5f);
// cardview.setLayoutParams(rl);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (onRecyclerItemClickListener != null) {
onRecyclerItemClickListener.onItemClickListener(getLayoutPosition(), 1);
}
}
});
}
}
}
|