Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package is.uncommon.playbook.sortedlist.part1;
- import android.support.v7.util.SortedList;
- import android.view.ViewGroup;
- public class SortedListAdapter extends IntegerListAdapter {
- private SortedList<Integer> sortedList =
- new SortedList<>(Integer.class, new SortedList.Callback<Integer>() {
- @Override public int compare(Integer item1, Integer item2) {
- return item1.compareTo(item2);
- }
- @Override public void onChanged(int position, int count) {
- SortedListAdapter.this.notifyItemRangeChanged(position, count);
- }
- @Override public boolean areContentsTheSame(Integer oldItem, Integer newItem) {
- return oldItem.equals(newItem);
- }
- @Override public boolean areItemsTheSame(Integer item1, Integer item2) {
- return item1.intValue() == item2.intValue();
- }
- @Override public void onInserted(int position, int count) {
- SortedListAdapter.this.notifyItemRangeInserted(position, count);
- }
- @Override public void onRemoved(int position, int count) {
- SortedListAdapter.this.notifyItemRangeRemoved(position, count);
- }
- @Override public void onMoved(int fromPosition, int toPosition) {
- SortedListAdapter.this.notifyItemMoved(fromPosition, toPosition);
- }
- });
- @Override protected void addInteger(Integer integer) {
- sortedList.add(integer);
- }
- @Override protected void removeInteger(Integer integer) {
- sortedList.remove(integer);
- }
- @Override public IntegerListItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- return IntegerListItemViewHolder.create(parent);
- }
- @Override public void onBindViewHolder(IntegerListItemViewHolder holder, int position) {
- holder.bindTo(sortedList.get(position));
- }
- @Override public int getItemCount() {
- return sortedList.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement