• Source
    1. import android.content.Context;
    2. import android.os.AsyncTask;
    3. import android.support.v7.widget.RecyclerView;
    4. import android.util.SparseArray;
    5. import android.widget.GridView;
    6.  
    7. import static ru.binarysimple.workcal.Utils.getMonthSize;
    8. import static ru.binarysimple.workcal.Utils.getMonthSpecDays;
    9. import static ru.binarysimple.workcal.Utils.getWeekDayOfFirstDay;
    10.  
    11. public class AsyncLoadMonthGrid extends AsyncTask<MonthAdapterLV.ViewHolder, Void, MonthGridAdapter> /*<params progress result>*/ {
    12. MonthAdapterLV.ViewHolder viewHolder;
    13. Context context;
    14. int position;
    15.  
    16. AsyncLoadMonthGrid(MonthAdapterLV.ViewHolder viewHolder, int position, Context context){
    17. this.context = context;
    18. this.viewHolder = viewHolder;
    19. this.position = position;
    20. }
    21.  
    22.  
    23. @Override
    24. protected MonthGridAdapter doInBackground(MonthAdapterLV.ViewHolder... params) {
    25.  
    26. int month = position+1;
    27. SparseArray holidays = getMonthSpecDays(month, 2016);
    28. MonthGridAdapter mgAdapter = new MonthGridAdapter(context,getWeekDayOfFirstDay(position+1,2016),
    29. getMonthSize(month,2016), holidays); //передается номер первого дня месяца
    30. return mgAdapter;
    31. }
    32.  
    33.  
    34. @Override
    35. protected void onPostExecute(MonthGridAdapter result)
    36. {
    37. viewHolder.monthGrid.setAdapter(result);
    38. }
    39.  
    40.  
    41. }
    42.