package com.alorma.github.ui.activity.issue; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.TextView; import butterknife.BindView; import butterknife.ButterKnife; import com.alorma.github.R; import com.alorma.github.sdk.bean.dto.response.Milestone; import com.alorma.github.ui.adapter.base.RecyclerArrayAdapter; public class MilestonesAdapter extends RecyclerArrayAdapter<Milestone, MilestonesAdapter.ViewHolder> { public MilestonesAdapter(LayoutInflater inflater) { super(inflater); } @Override protected void onBindViewHolder(ViewHolder holder, Milestone milestone) { holder.milestoneTitle.setText(milestone.title); holder.milestoneProgress.setMax(milestone.closedIssues + milestone.openIssues); holder.milestoneProgress.setProgress(milestone.closedIssues); holder.milestoneUpdated.setText(getTimeFormatter().relative(milestone.updatedAt.getTime())); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ViewHolder(getInflater().inflate(R.layout.row_milestone, parent, false)); } public class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.milestoneTitle) TextView milestoneTitle; @BindView(R.id.milestoneProgress) ProgressBar milestoneProgress; @BindView(R.id.milestoneUpdated) TextView milestoneUpdated; public ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); itemView.setOnClickListener(v -> { getCallback().onItemSelected(getItem(getAdapterPosition())); }); } } }