in todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/view/TasksAdapter.java [61:97]
public View getView(int i, View view, ViewGroup viewGroup) {
View rowView = view;
if (rowView == null) {
LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext());
rowView = inflater.inflate(R.layout.task_item, viewGroup, false);
}
final TaskViewData task = getItem(i);
TextView titleTV = rowView.findViewById(R.id.title);
titleTV.setText(task.title());
CheckBox completeCB = rowView.findViewById(R.id.complete);
completeCB.setChecked(task.completed());
Drawable background =
viewGroup.getContext().getResources().getDrawable(task.backgroundDrawableId());
rowView.setBackgroundDrawable(background);
completeCB.setOnClickListener(
__ -> {
if (mItemListener == null) return;
if (!task.completed()) {
mItemListener.onCompleteTaskClick(task.id());
} else {
mItemListener.onActivateTaskClick(task.id());
}
});
rowView.setOnClickListener(
__ -> {
if (mItemListener != null) mItemListener.onTaskClick(task.id());
});
return rowView;
}