package com.philosophicalhacker.philhackernews.ui; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.philosophicalhacker.philhackernews.model.Item; import java.util.List; /** * * Created by MattDupree on 7/21/15. */ public abstract class ItemAdapter extends RecyclerView.Adapter<HackerNewsItemViewHolder> { protected final List<Item> mItems; public ItemAdapter(List<Item> items) { mItems = items; } protected abstract View getItemView(LayoutInflater inflater, ViewGroup parent); @Override public HackerNewsItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { final Context context = parent.getContext(); LayoutInflater inflater = LayoutInflater.from(context); return new HackerNewsItemViewHolder(getItemView(inflater, parent)); } @Override public void onBindViewHolder(HackerNewsItemViewHolder holder, int position) { final Item item = mItems.get(position); String scoreText; int score = item.getScore(); if (score > 999) { scoreText = "999+"; } else { scoreText = String.valueOf(score); } holder.mCircleNumberTextView.setText(scoreText); holder.mAuthorTextView.setText(item.getAuthor()); } @Override public int getItemCount() { return mItems.size(); } }