Slide 12
Slide 12 text
//1つのセルの中身を決める
@Override
public View getView(int position, View
convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
//TODO
View view =
inflater.inflate(R.layout.grid_item_calendar,
parent, false);
view.setLayoutParams(new
AbsListView.LayoutParams(itemWidth,
itemHeight));
holder.baseArea = view;
holder.tapArea =
view.findViewById(R.id.tap_area);
holder.text = (TextView)
view.findViewById(R.id.text);
holder.backgroundToday = (ImageView)
view.findViewById(R.id.calendar_background
_today);
holder.selectedDay = (ImageView)
view.findViewById(R.id.selected_day);
holder.imageTime = (ImageView)
view.findViewById(R.id.image_time);
view.setTag(holder);
convertView = view;
}
} else {
holder = (ViewHolder)
convertView.getTag();
}
// 初期化
holder.imageTime.setVisibility(View.INVISIBL
E);
holder.selectedDay.setVisibility(View.INVISIB
LE);
holder.tapArea.setOnClickListener(null);
holder.tapArea.setClickable(false);
holder.text.setBackgroundDrawable(null);
//position:日が0,土が6
updateTextColor(position, holder.text);
//HACK:最初の7つだけはどのpageでも日~
月を表示
if (position < COLUMN_COUNT) {
String weeks[] = {"日", "月", "火", "水",
"木", "金", "土"};
holder.text.setText(weeks[position]);
holder.text.setTypeface(Typeface.DEFAULT);
return convertView;
}
//このconversionViewInfoのindex番号=セ
ルの日付
CalendarGridItemEntity entity =
calendarManager.conversionViewInfo(positio
n - COLUMN_COUNT);
List medicines =
MedicineTabManager.getInstance(context).fi
ndRecordEntitiesByDate(entity.date);
holder.baseArea.setVisibility(View.VISIBLE);
if (entity.isToday) {
holder.backgroundToday.setVisibility(View.VI
SIBLE);
holder.backgroundToday.setBackgroundRes
ource(R.drawable.shape_bg_calendar_today
);
}else{
holder.backgroundToday.setVisibility(View.IN
VISIBLE);
}
ClickInfo info = new ClickInfo();
info.date = entity.date;
holder.tapArea.setClickable(true);
holder.tapArea.setTag(info);
holder.tapArea.setOnClickListener(innerClick
Listener);
holder.text.setText(entity.dateStr);
Date today = new Date();
if (medicines.size() > 0 &&