/** Returns the view for a specific item on the list */ @Override public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; final ToDoItem currentItem = getItem(position); if (row == null) { LayoutInflater inflater = ((Activity) mContext).getLayoutInflater(); row = inflater.inflate(mLayoutResourceId, parent, false); } row.setTag(currentItem); final CheckBox checkBox = (CheckBox) row.findViewById(R.id.checkToDoItem); checkBox.setText(currentItem.getText()); checkBox.setChecked(false); checkBox.setEnabled(true); checkBox.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { if (checkBox.isChecked()) { checkBox.setEnabled(false); if (mContext instanceof ToDoActivity) { ToDoActivity activity = (ToDoActivity) mContext; activity.checkItem(currentItem); } } } }); return row; }