package ren.solid.ganhuoio.module.home.provider; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.text.SpannableStringBuilder; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import me.drakeet.multitype.ItemViewProvider; import ren.solid.ganhuoio.R; import ren.solid.ganhuoio.bean.GanHuoData; import ren.solid.ganhuoio.bean.bomb.CollectTable; import ren.solid.ganhuoio.utils.DialogUtils; import ren.solid.library.activity.WebViewActivity; import ren.solid.library.utils.DateUtils; import ren.solid.library.utils.SpannableStringUtils; /** * Created by _SOLID * Date:2016/11/30 * Time:22:26 */ public class DailyViewItemProvider extends ItemViewProvider<GanHuoData, DailyViewItemProvider.ViewHolder> { @NonNull @Override protected ViewHolder onCreateViewHolder( @NonNull LayoutInflater inflater, @NonNull ViewGroup parent) { View root = inflater.inflate(R.layout.item_daily_item, parent, false); return new ViewHolder(root); } @Override protected void onBindViewHolder( @NonNull final ViewHolder holder, @NonNull final GanHuoData recently) { SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append( SpannableStringUtils.format(holder.tv_title.getContext(), "[" + DateUtils.friendlyTime(recently.getPublishedAt().replace('T', ' ').replace('Z', ' ')) + "]", R.style.ByTextAppearance)); builder.append(recently.getDesc()); builder.append( SpannableStringUtils.format(holder.tv_title.getContext(), " [via " + recently.getWho() + "]", R.style.ByTextAppearance)); holder.tv_title.setText(builder.subSequence(0, builder.length())); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { WebViewActivity.start(holder.itemView.getContext(), recently.getDesc(), recently.getUrl()); } }); holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { DialogUtils.showActionDialog(v.getContext(), v , new CollectTable(recently.getDesc(), recently.getUrl(), recently.getType())); return true; } }); } static class ViewHolder extends RecyclerView.ViewHolder { TextView tv_title; ViewHolder(View itemView) { super(itemView); tv_title = (TextView) itemView.findViewById(R.id.tv_title); } } }