package com.novoda.downloadmanager.demo.extended.batches; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.novoda.downloadmanager.demo.R; import java.util.List; import java.util.Locale; public class BatchesAdapter extends RecyclerView.Adapter<BatchesAdapter.ViewHolder> { private final List<BeardBatch> beardBatches; public BatchesAdapter(List<BeardBatch> beardBatches) { this.beardBatches = beardBatches; } public void updateBatches(List<BeardBatch> beardBatches) { this.beardBatches.clear(); this.beardBatches.addAll(beardBatches); notifyDataSetChanged(); } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) { return new ViewHolder(View.inflate(viewGroup.getContext(), R.layout.list_item_batch, null)); } @Override public void onBindViewHolder(ViewHolder viewHolder, int position) { BeardBatch beardBatch = beardBatches.get(position); viewHolder.idTextView.setText(String.format(Locale.getDefault(), "Id: %d", beardBatch.getId())); viewHolder.titleTextView.setText(beardBatch.getTitle()); String status = String.format(Locale.getDefault(), "Status: %s", beardBatch.getDownloadStatusText()); viewHolder.statusTextView.setText(status); viewHolder.totalSizeTextView.setText(String.format(Locale.getDefault(), "Total size: %d bytes", beardBatch.getTotalBytes())); viewHolder.currentSizeTextView.setText(String.format(Locale.getDefault(), "Current size: %d bytes", beardBatch.getCurrentBytes())); viewHolder.extraDataTextView.setText(beardBatch.getExtraData()); } @Override public int getItemCount() { return beardBatches.size(); } static class ViewHolder extends RecyclerView.ViewHolder { private final TextView idTextView; private final TextView titleTextView; private final TextView statusTextView; private final TextView totalSizeTextView; private final TextView currentSizeTextView; private final TextView extraDataTextView; public ViewHolder(View itemView) { super(itemView); idTextView = (TextView) itemView.findViewById(R.id.batch_id_text); titleTextView = (TextView) itemView.findViewById(R.id.batch_title_text); statusTextView = (TextView) itemView.findViewById(R.id.batch_status_text); totalSizeTextView = (TextView) itemView.findViewById(R.id.batch_total_size_text); currentSizeTextView = (TextView) itemView.findViewById(R.id.batch_current_size_text); extraDataTextView = (TextView) itemView.findViewById(R.id.batch_extra_data_text); } } }