package com.dinhcv.lifelogpedometer.adapter; import android.app.Activity; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.dinhcv.lifelogpedometer.R; import com.dinhcv.lifelogpedometer.model.structure.pojo.RankingInfo; import com.dinhcv.lifelogpedometer.network.ApiUtils; import com.dinhcv.lifelogpedometer.utils.Utils; import com.squareup.picasso.Picasso; import java.util.ArrayList; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by Admin on 8/17/2017. */ public class RankingAdapter extends RecyclerView.Adapter { private List mRankingInfoList = new ArrayList<>(); private Activity mActivity; public class MyViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.tv_position) TextView mTvPosition; @BindView(R.id.imv_user_icon) ImageView mImvUserIcon; @BindView(R.id.tv_time) TextView mTvTime; @BindView(R.id.tv_steps) TextView mTvSteps; @BindView(R.id.tv_distance) TextView mTvDistance; @BindView(R.id.imv_position) ImageView mImvPosition; public MyViewHolder(View view) { super(view); ButterKnife.bind(this, view); } } public RankingAdapter(Activity activity, List list) { mActivity = activity; mRankingInfoList.clear(); mRankingInfoList.addAll(list); } public void updateData(List list) { mRankingInfoList.clear(); mRankingInfoList.addAll(list); } public void clearData() { mRankingInfoList.clear(); } @Override public RankingAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()) .inflate(R.layout.layout_rank_row, parent, false); return new RankingAdapter.MyViewHolder(itemView); } @Override public void onBindViewHolder(RankingAdapter.MyViewHolder holder, int position) { RankingInfo rankingInfo = mRankingInfoList.get(position); holder.mTvPosition.setText(rankingInfo.getRank()+""); holder.mTvTime.setText(Utils.convertSecond2HourMinSecString(rankingInfo.getTime())); holder.mTvSteps.setText(rankingInfo.getSteps() + " 歩"); holder.mTvDistance.setText(rankingInfo.getDistance() + " km"); if (rankingInfo.getProfileImage() != null && !rankingInfo.getProfileImage().toString().isEmpty()) { Picasso.with(mActivity).load(ApiUtils.BASE_URL + rankingInfo.getProfileImage().toString()).into( holder.mImvUserIcon); } switch (rankingInfo.getRank()) { case 1: holder.mImvPosition.setBackground(Utils.getDrawableWrapper(mActivity, R.drawable.ic_first)); break; case 2: holder.mImvPosition.setBackground(Utils.getDrawableWrapper(mActivity, R.drawable.ic_second)); break; case 3: holder.mImvPosition.setBackground(Utils.getDrawableWrapper(mActivity, R.drawable.ic_third)); break; } } @Override public int getItemCount() { return mRankingInfoList.size(); } }