Skip to content

Instantly share code, notes, and snippets.

@quanturium
quanturium / CursorRecyclerAdapter.java
Last active July 10, 2020 17:50
A simple implementation of CursorAdapter for the new RecyclerView. It is designed to work with CursorLoaders and do not register any content observer (which can cause leaks if not handled properly)
/*
* The MIT License (MIT)
*
* Copyright (c) 2015 ARNAUD FRUGIER
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
@quanturium
quanturium / SimpleCursorRecyclerAdapter.java
Created April 19, 2015 22:00
Implementation of SimpleCursorAdapter for the new RecyclerView. It extends this gist: https://gist.github.com/quanturium/46541c81aae2a916e31d
/*
* The MIT License (MIT)
*
* Copyright (c) 2015 ARNAUD FRUGIER
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
@Override 
protected TreeMap<Integer, Object> initializeSections(Cursor c) 
{
TreeMap<Integer, Object> sections = new TreeMap<Integer, Object>();
int offset = 0, i = 0;
while (c.moveToNext())
{
String firstname = c.getString(c.getColumnIndex(CursorSectionDirectoryDatabase.COL_FIRSTNAME));
String firstLetter = firstname.substring(0, 1);
@Override
protected SortedMap<Integer, Object> initializeSections(Cursor c)
{
TreeMap<Integer, Object> sections = new TreeMap<Integer, Object>();
int offset = 0, i = 0;  
while (c.moveToNext())
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String eventDate = sdf.format(new Date((long) c.getInt(c.getColumnIndex(EventsDatabase.COL_FROM_DATE)) * 1000));