public View getView()

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;
  }