package com.classic.car.ui.adapter; import android.content.Context; import android.support.v4.graphics.ColorUtils; import com.classic.adapter.BaseAdapterHelper; import com.classic.adapter.CommonRecyclerAdapter; import com.classic.car.R; import com.classic.car.consts.Consts; import com.classic.car.entity.ConsumerDetail; import com.classic.car.utils.DateUtil; import com.classic.car.utils.Util; import com.classic.car.widget.CircleImageView; import java.util.List; import rx.functions.Action1; /** * 应用名称: CarAssistant * 包 名 称: com.classic.car.ui.adapter * * 文件描述:TODO * 创 建 人:续写经典 * 创建时间:16/6/28 下午6:22 */ public class TimelineAdapter extends CommonRecyclerAdapter<ConsumerDetail> implements Action1<List<ConsumerDetail>> { private static final int ALPHA = 100; private Context mContext; private final int mLayoutResId; public TimelineAdapter(Context context, int layoutResId) { super(context, layoutResId); this.mContext = context.getApplicationContext(); this.mLayoutResId = layoutResId; } @SuppressWarnings("deprecation") @Override public void onUpdate(BaseAdapterHelper helper, ConsumerDetail item, int position) { if (position == 0) return; CircleImageView civ = helper.getView(R.id.item_timeline_icon_bg); int color = mContext.getResources().getColor(Util.getColorByType(item.getType())); civ.setFillColor(color); civ.setBorderColor(ColorUtils.setAlphaComponent(color, ALPHA)); helper.setText(R.id.item_timeline_time, DateUtil.formatDate(DateUtil.FORMAT_DATE, item.getConsumptionTime()) + "\n" + DateUtil.formatDate(DateUtil.FORMAT_TIME, item.getConsumptionTime())) .setImageResource(R.id.item_timeline_icon, Util.getIconByType(item.getType())) .setText(R.id.item_timeline_content, Consts.TYPE_MENUS[item.getType()]) .setText(R.id.item_timeline_money, Util.formatMoney(item.getMoney())) .setTextColorRes(R.id.item_timeline_content, Util.getColorByType(item.getType())) .setTextColorRes(R.id.item_timeline_money, Util.getColorByType(item.getType())); } @Override public void call(List<ConsumerDetail> list) { list.add(0, new ConsumerDetail()); replaceAll(list); } @Override public int getLayoutResId(ConsumerDetail item, int position) { return position == 0 ? R.layout.item_header : mLayoutResId; } }