package br.com.mgalhardo.guidebook.presentation.ui.guidelist; 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.TextView; import com.squareup.picasso.Picasso; import java.util.List; import br.com.mgalhardo.guidebook.R; import br.com.mgalhardo.guidebook.domain.entity.Guide; import butterknife.BindView; import butterknife.ButterKnife; public class GuideListAdapter extends RecyclerView.Adapter<GuideListAdapter.ViewHolder> { private Context context; private List<Guide> guides; public GuideListAdapter(Context context, List<Guide> guides) { this.context = context; this.guides = guides; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_guide, parent, false); return new ViewHolder(v); } @Override public void onBindViewHolder(ViewHolder holder, int position) { Guide guide = guides.get(position); if (guide != null) { if (!TextUtils.isEmpty(guide.icon)) { Picasso.with(context).load(guide.icon).into(holder.icon); } holder.name.setText(guide.name); if (TextUtils.isEmpty(guide.venue.city)) { holder.city.setVisibility(View.GONE); } else { holder.city.setText(guide.venue.city); holder.city.setVisibility(View.VISIBLE); } if (TextUtils.isEmpty(guide.venue.state)) { holder.state.setVisibility(View.GONE); } else { holder.state.setText(guide.venue.state); holder.state.setVisibility(View.VISIBLE); } holder.endDate.setText(guide.endDate); } } @Override public int getItemCount() { return guides.size(); } public class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.icon) ImageView icon; @BindView(R.id.name) TextView name; @BindView(R.id.city) TextView city; @BindView(R.id.state) TextView state; @BindView(R.id.end_date) TextView endDate; ViewHolder(View v) { super(v); ButterKnife.bind(this, v); } } }