充电桩app代码

TalkRecommendHeaderAdapter.java 6.2KB

    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); } } }); } } }