Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save StefanDeBruijn/f032eac6619ac1b8420e352b883ea4dd to your computer and use it in GitHub Desktop.
Save StefanDeBruijn/f032eac6619ac1b8420e352b883ea4dd to your computer and use it in GitHub Desktop.
package com.TimingSolutions.CompetitionHQ.ui.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.TimingSolutions.CompetitionHQ.R;
import com.TimingSolutions.CompetitionHQ.model.recyclerview.GroupData;
import com.google.common.collect.Multimap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
public class TopRecyclerViewAdapter
extends RecyclerView.Adapter<TopRecyclerViewAdapter.ViewHolder> {
private List<Map.Entry<GroupData, Collection<Integer>>> mValues;
public static class ViewHolder extends RecyclerView.ViewHolder {
public final TextView et_first_name, et_surname, et_id, et_place;
public final ImageView iv_face;
public ViewHolder(View view) {
super(view);
et_first_name = (TextView) view.findViewById(R.id.et_first_name);
et_surname = (TextView) view.findViewById(R.id.et_surname);
et_id = (TextView) view.findViewById(R.id.et_id);
et_place = (TextView) view.findViewById(R.id.et_place);
iv_face = (ImageView) view.findViewById(R.id.iv_face);
}
}
public List<Map.Entry<GroupData, Collection<Integer>>> getData() {
return mValues;
}
public void clear() {
mValues.clear();
}
public TopRecyclerViewAdapter(Multimap<GroupData, Integer> items) {
mValues = new ArrayList<>(items.asMap().entrySet());
Collections.sort(mValues, new Comparator<Map.Entry<GroupData, Collection<Integer>>>() {
@Override
public int compare(Map.Entry<GroupData, Collection<Integer>> e1,
Map.Entry<GroupData, Collection<Integer>> e2) {
return e1.getValue().iterator().next() - e2.getValue().iterator().next();
}
});
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_top, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
final Map.Entry<GroupData, Collection<Integer>> item = mValues.get(position);
// Set the image field
holder.iv_face.setImageResource(item.getKey().getMember().gender.equalsIgnoreCase("m") ? R.drawable.icon_male : R.drawable.icon_female);
// Set the first name field
holder.et_first_name.setText(item.getKey().getMember().firstName);
// Set the surname field
holder.et_surname.setText(item.getKey().getMember().surname);
// Set the id field
holder.et_id.setText(String.valueOf(item.getKey().getMember()._id));
// Set the place field
holder.et_place.setText(String.valueOf(item.getValue().iterator().next()));
}
@Override
public int getItemCount() {
return mValues.size();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment