Skip to content
This repository has been archived by the owner on Mar 1, 2021. It is now read-only.

Homework2 #17

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Homework2 #17

wants to merge 3 commits into from

Conversation

Nadenokk
Copy link

No description provided.

@otopba otopba self-requested a review March 3, 2019 20:41
Copy link

@otopba otopba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно поправить замечания что оставлены к коду.
Общие замечания:

  1. Нет выделение активного элемента в RecyclerView
  2. В спиcке имя человека залезает на аватарку
  3. Если начать вводить имя вся верстка разламывается
  4. Можно сохранить пустое имя/фамилию
  5. Кликаю 2 раза “удалить” получаю креш


public class MainActivity extends AppCompatActivity implements OnClickListener{
private List<Student> students;
private StudentsAdapter studentsAdapter;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно не делать полем

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не поняла про активный элемент, что именно имеете ввиду? про имя и верстку, сохранение и удаление исправила. А что именно тут поле?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

studentsAdapter Используется только в одном методе, не обязательно его выносить в поле класса

switch (v.getId()) {
case R.id.button6:
onAddClick();
setupRecyclerView();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не нужно каждый раз заново вызывать setupRecyclerView и создавать новый адаптер

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Благодаря этому я отрисовываю новый список

}

private void onStudentClick(Student student, String id) {
TextInputEditText firstname = findViewById(R.id.texInputEdit4);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

camelCase

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Исправила

btnDelStudent.setContentDescription("1000");
int id = Integer.parseInt(str);

if (students.get(id).getSecondName().length()>0) students.remove(id);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше расставлять фигурные скобки

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Исправила

}

private void onSaveStudent() {
int id = Integer.parseInt((String) btnDelStudent.getContentDescription());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не очень хорошая практика передавать что-то через ContentDescription а потом еще и кстатить и пытаться перевести в int

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Благодаря этому я присваиваю идентификаторы записям в листе, description это текстовое поле, а идентификаторы int

Student student = students.get(i);
viewHolder.bind(student);
viewHolder.itemView.setTag(student);
viewHolder.itemView.setContentDescription(Integer.toString(i));
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А зачем это нужно? Почему просто тег не подходит?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Чтобы добавить идентификаторы и обращаться к ним впоследствии, изначально их нет, поэтому приходится здесь описать


private void bind(@NonNull Student student) {
nameTextView.setText(student.getFirstName() + " " + student.getSecondName());
if (student.isMaleGender()) posterImageView.setImageResource(student.getPhoto());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше ставить фигурные скобки

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Исправила

nameTextView.setText(student.getFirstName() + " " + student.getSecondName());
if (student.isMaleGender()) posterImageView.setImageResource(student.getPhoto());
else posterImageView.setImageResource(student.getPhoto());
;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лишний символ

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Исправила

@@ -1,9 +1,173 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лишняя строка

<TextView
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Все id элементов совсем не отражают предназначения View

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Исправила

@otopba
Copy link

otopba commented Mar 17, 2019

  1. Нет выделение активного элемента в RecyclerView
  2. В спиcке имя человека залезает на аватарку
  3. Если начать вводить имя вся верстка разламывается

@@ -3,6 +3,9 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<compositeConfiguration>
<compositeBuild compositeDefinitionSource="SCRIPT" />
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А зачем это добавлено?


public class MainActivity extends AppCompatActivity implements OnClickListener{
private List<Student> students;
private StudentsAdapter studentsAdapter;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

studentsAdapter Используется только в одном методе, не обязательно его выносить в поле класса

}

private void resetBorder(View view) {
if (borderView != null)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше всегда ставить фигурные скобки

@otopba
Copy link

otopba commented May 31, 2019

Такой ПР не получится смержить. Необходимо решать конфликты
image

@otopba
Copy link

otopba commented May 31, 2019

Работа принята
7 балов

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants