Buggy code:
public class ForecastCursorAdapter extends RecyclerView . Adapter < ForecastCursorAdapter . ViewHolder > implements OnItemClickHandler { private static final int TODAY_VIEW_TYPE = 0 ; private static final int FUTURE_DAY_VIEW_TYPE = 1 ; private boolean useTodayLayout ; private Cursor cursor ; private Context context ; private View emptyView ; private OnAdapterItemClickListener onAdapterItemClickListener ; private final TemperatureFormatter temperatureFormatter ; private final DateFormatter dateFormatter ; private final ItemChoiceManager itemChoiceManager ; public ForecastCursorAdapter ( final Context context , final View emptyView , final OnAdapterItemClickListener onAdapterItemClickListener , final int choiceMode , final TemperatureFormatter temperatureFormatter , final DateFormatter dateFormatter ) { } @ Override public ForecastCursorAdapter . ViewHolder onCreateViewHolder ( final ViewGroup viewGroup , final int viewType ) { } @ Override public void onBindViewHolder ( final ForecastCursorAdapter . ViewHolder viewHolder , final int position ) { cursor . moveToPosition ( position ) ; final int weatherId = cursor . getInt ( cursor . getColumnIndex ( COLUMN_WEATHER_ID ) ) ; <START_BUG> final long weatherDate = cursor . getInt ( cursor . getColumnIndex ( COLUMN_DATE ) ) ; <END_BUG> final String descriptionWeather = cursor . getString ( cursor . getColumnIndex ( COLUMN_SHORT_DESC ) ) ; final float maxTemp = cursor . getFloat ( cursor . getColumnIndex ( COLUMN_MAX_TEMP ) ) ; final float minTemp = cursor . getFloat ( cursor . getColumnIndex ( COLUMN_MIN_TEMP ) ) ; boolean useLongToday ; if ( ( getItemViewType ( cursor . getPosition ( ) ) ) == ( ForecastCursorAdapter . TODAY_VIEW_TYPE ) ) { useLongToday = true ; viewHolder . forecastIcon . setImageResource ( OWMWeather . getArtResourceForWeatherCondition ( weatherId ) ) ; } else { useLongToday = false ; viewHolder . forecastIcon . setImageResource ( OWMWeather . getIconResourceForWeatherCondition ( weatherId ) ) ; } viewHolder . dateWeather . setText ( dateFormatter . getFriendlyDay ( weatherDate , useLongToday ) ) ; viewHolder . forecastDescription . setText ( descriptionWeather ) ; viewHolder . max . setText ( temperatureFormatter . format ( maxTemp ) ) ; viewHolder . min . setText ( temperatureFormatter . format ( minTemp ) ) ; ViewCompat . setTransitionName ( viewHolder . forecastIcon , ( "iconView" + position ) ) ; itemChoiceManager . onBindViewHolder ( viewHolder , position ) ; } @ Override public int getItemViewType ( final int position ) { } public void setUseTodayLayout ( final boolean useTodayLayout ) { } @ Override public int getItemCount ( ) { } public void swapCursor ( final Cursor cursor ) { } public Cursor getCursor ( ) { } @ Override public void itemClick ( final RecyclerView . ViewHolder viewHolder ) { } public void selectView ( final RecyclerView . ViewHolder viewHolder ) { } public void onRestoreInstanceState ( final Bundle savedInstanceState ) { } public void onSaveInstanceState ( final Bundle outState ) { } public int getSelectedItemPosition ( ) { } public static final class ViewHolder extends RecyclerView . ViewHolder implements View . OnClickListener { @ Bind ( id . list_item_icon ) public ImageView forecastIcon ; @ Bind ( id . list_item_date_textview ) public TextView dateWeather ; @ Bind ( id . list_item_forecast_textview ) public TextView forecastDescription ; @ Bind ( id . list_item_high_textview ) public TextView max ; @ Bind ( id . list_item_low_textview ) public TextView min ; private final OnItemClickHandler onItemClickHandler ; private ViewHolder ( final View view , final OnItemClickHandler onItemClickHandler ) { } @ Override public void onClick ( final View view ) { } } }

Fix:
final long weatherDate = cursor . getLong ( cursor . getColumnIndex ( COLUMN_DATE ) ) ;