import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;
import static ru.binarysimple.workcal.Utils.getMonthSize;
import static ru.binarysimple.workcal.Utils.getMonthSpecDays;
import static ru.binarysimple.workcal.Utils.getWeekDayOfFirstDay;
public class MonthAdapterLV extends ArrayAdapter<String> {
private final LayoutInflater lInflater;
private final List<String> objects;
MonthAdapterLV
(Context context, List
<String
> months
) { super(context, R.layout.month_view, months);
ctx = context;
objects = months;
lInflater = (LayoutInflater) ctx
.
getSystemService(Context.
LAYOUT_INFLATER_SERVICE); }
public static class ViewHolder {
TextView month_name;
ExpGridView monthGrid;
}
// кол-во элементов
@Override
public int getCount() {
return objects.size();
}
public void delItem(int position) {
objects.remove(position);
}
@Override
public String getItem
(int i
) { return objects.get(i);
}
// id по позиции
@Override
public long getItemId(int position) {
return position;
}
// пункт списка
@Override
public View getView
(int position,
View convertView, ViewGroup parent
) { ViewHolder viewHolder;
// используем созданные, но не используемые view
if (convertView == null){
LayoutInflater inflater = (LayoutInflater) ctx
.
getSystemService(Context.
LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.month_view, parent, false);
viewHolder = new ViewHolder();
viewHolder.month_name = (TextView) convertView.findViewById(R.id.month_name);
viewHolder.monthGrid = (ExpGridView) convertView.findViewById(R.id.month_grid);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.month_name.setText(getItem(position));
new AsyncLoadMonthGrid(viewHolder,position,viewHolder.monthGrid.getContext()).execute();
return convertView;
}
private String getMonth
(int position
) { return objects.get(position);
}
}