|
package com.electric.chargingpile.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
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.CircleTransform;
import com.electric.chargingpile.util.ImageDisplayUtils;
import com.electric.chargingpile.util.ScreenUtils;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
public class WaterFallAdapter extends RecyclerView.Adapter<IViewHolder> {
private Context context;
private LayoutInflater LayoutInflater;
private ArrayList<TalkRecommendBean> talkRecommendBeans;
private ArrayList<TalkRecommendBean> talkHeaderRecommendBeans;
private RecyclerItemTypeClickListener onRecyclerItemClickListener;
private int screenWidth;
public WaterFallAdapter(Context context) {
this.context = context;
LayoutInflater = LayoutInflater.from(context);
talkRecommendBeans = new ArrayList<>();
talkHeaderRecommendBeans = new ArrayList<>();
screenWidth = ScreenUtils.getScreenWidth(context);
}
public void setData(ArrayList<TalkRecommendBean> datas) {
talkRecommendBeans = datas;
notifyDataSetChanged();
}
public void addData(ArrayList<TalkRecommendBean> datas) {
talkRecommendBeans.addAll(datas);
notifyDataSetChanged();
}
public ArrayList<TalkRecommendBean> getCurrentData() {
return talkRecommendBeans;
}
public void setOnRecyclerItemClickListener(RecyclerItemTypeClickListener onRecyclerItemClickListener) {
this.onRecyclerItemClickListener = onRecyclerItemClickListener;
}
@Override
public int getItemCount() {
// 加一是因为添加了头部
return talkRecommendBeans.size();
}
@Override
public IViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = null;
IViewHolder holder = null;
view = LayoutInflater.inflate(R.layout.app_talk_item_recylerview, parent, false);
holder = new SimpleViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(IViewHolder holder, int position) {
setListHolder(holder, position);
}
private void setListHolder(IViewHolder holder, int position) {
SimpleViewHolder simpleViewHolder = (SimpleViewHolder) holder;
RelativeLayout.LayoutParams lpImg = (RelativeLayout.LayoutParams) simpleViewHolder.info_bg_icon.getLayoutParams();
// LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) simpleViewHolder.user_avater.getLayoutParams(); //取控件textView当前的布局参数 linearParams.height = 20;// 控件的高强制设成20
if (position % 2 == 0) {
lpImg.width = screenWidth / 2;
lpImg.height = screenWidth * 2 / 3 - 100;
simpleViewHolder.info_bg_icon.setLayoutParams(lpImg);
} else {
lpImg.width = screenWidth / 2;
lpImg.height = screenWidth * 2 / 3;
simpleViewHolder.info_bg_icon.setLayoutParams(lpImg);
}
TalkRecommendBean talkRecommendBean = talkRecommendBeans.get(position);
simpleViewHolder.recycler_view_title.setText(talkRecommendBean.title);
simpleViewHolder.recycler_view_zan.setText(talkRecommendBean.likeNums + "");
simpleViewHolder.user_avater_name.setText(talkRecommendBean.nickName);
if (talkRecommendBean.isTop == 0)
simpleViewHolder.is_top_view.setVisibility(View.GONE);
else
simpleViewHolder.is_top_view.setVisibility(View.VISIBLE);
if (talkRecommendBean.targetType == 23)
simpleViewHolder.info_id_video_icon.setVisibility(View.VISIBLE);
else
simpleViewHolder.info_id_video_icon.setVisibility(View.GONE);
// Glide.with(context)
// .load(talkRecommendBean.coverImgUrl)
// .asBitmap()//强制Glide返回一个Bitmap对象
// .into(new Tram);
ImageDisplayUtils.dispalyImg(context, talkRecommendBean.coverImgUrl, simpleViewHolder.info_bg_icon);
// if (!TextUtils.isEmpty(talkRecommendBean.coverImgUrl)){
// Picasso.with(context).load(talkRecommendBean.coverImgUrl).into(simpleViewHolder.info_bg_icon);
// }
if (TextUtils.isEmpty(talkRecommendBean.headImgUrl)) {
Picasso.with(context)
.load(R.drawable.icon_face2_0)
.placeholder(R.drawable.icon_face2_0)
.error(R.drawable.icon_face2_0)
.transform(new CircleTransform())
.into(simpleViewHolder.user_avater);
} else {
Picasso.with(context)
.load(talkRecommendBean.headImgUrl)
.placeholder(R.drawable.icon_face2_0)
.error(R.drawable.icon_face2_0)
.transform(new CircleTransform())
.into(simpleViewHolder.user_avater);
}
}
class SimpleViewHolder extends IViewHolder {
TextView recycler_view_title;
TextView recycler_view_zan;
TextView user_avater_name;
TextView is_top_view;
ImageView user_avater;
ImageView info_bg_icon;
ImageView info_id_video_icon;
LinearLayout cardview;
public SimpleViewHolder(View view) {
super(view);
recycler_view_title = (TextView) view.findViewById(R.id.recycler_view_title);
user_avater_name = (TextView) view.findViewById(R.id.user_avater_name);
is_top_view = (TextView) view.findViewById(R.id.is_top_view);
recycler_view_zan = (TextView) view.findViewById(R.id.recycler_view_zan);
user_avater = (ImageView) view.findViewById(R.id.user_avater);
info_bg_icon = (ImageView) view.findViewById(R.id.info_bg_icon);
info_id_video_icon = (ImageView) view.findViewById(R.id.info_id_video_icon);
cardview = (LinearLayout) view.findViewById(R.id.cardview);
RelativeLayout.LayoutParams lpImg = (RelativeLayout.LayoutParams) info_bg_icon.getLayoutParams();
lpImg.width = screenWidth / 2;
lpImg.height = screenWidth * 2 / 3;
info_bg_icon.setLayoutParams(lpImg);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (onRecyclerItemClickListener != null) {
onRecyclerItemClickListener.onItemClickListener(getLayoutPosition(), 1);
}
}
});
}
}
}
|