Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2주차 과제] 안드로이드 UI 구현 심화 #3

Open
5 of 7 tasks
leeeha opened this issue Apr 11, 2023 · 0 comments · Fixed by #4
Open
5 of 7 tasks

[2주차 과제] 안드로이드 UI 구현 심화 #3

leeeha opened this issue Apr 11, 2023 · 0 comments · Fixed by #4
Assignees
Labels
Advanced 심화 과제 Challenge 도전 과제 Essential 필수 과제

Comments

@leeeha
Copy link
Member

leeeha commented Apr 11, 2023

필수 과제

심화 과제

도전 과제

  • MotionLayout 이용해서 모션 및 위젯 애니메이션 넣어보기
  • (가짜) 서버통신 해보기
    • kotlinx-serialization으로 JSON 데이터 파싱하여 HomeFragment 리스트에 넣기

개인적으로 공부한 것

@leeeha leeeha added Essential 필수 과제 Advanced 심화 과제 Challenge 도전 과제 labels Apr 11, 2023
@leeeha leeeha self-assigned this Apr 11, 2023
@leeeha leeeha removed the Challenge 도전 과제 label Apr 21, 2023
@leeeha leeeha linked a pull request Apr 29, 2023 that will close this issue
7 tasks
@leeeha leeeha closed this as completed in #4 Apr 30, 2023
@leeeha leeeha reopened this May 2, 2023
@leeeha leeeha changed the title [2주차 과제] 안드로이드 UI 구현 심화 - 어댑터를 사용하는 UI 컴포넌트 [2주차 과제] 안드로이드 UI 구현 심화 May 3, 2023
leeeha added a commit that referenced this issue May 12, 2023
- MultiViewHolderFactory의 getViewHolder에서 MultiViewHolder 객체를 리턴할 때, `as MultiViewHolder<MultiViewItem>`로 강제 캐스팅을 해야 했음. (그 이유는 무변성 때문에)
- Invariance: 형식 매개변수끼리는 하위 타입 관계를 만족시키더라도, 제네릭을 사용하는 클래스나 인터페이스는 하위 타입 관계가 유지되지 않는 것
- 그래서 MultiViewHolder의 형식 매개변수를 제거하면 하위 타입(HearderViewHolder, RepoViewHolder)에서 상위 타입(MultiViewHolder)으로 자동 캐스팅 되어 경고가 발생하지 않음.
- MultiViewHolder의 형식 매개변수를 제거한 대신에, 어댑터의 onBindViewHolder에서 holder의 타입을 구분하여 bind 함수를 호출하도록 변경함.
@leeeha leeeha added the Challenge 도전 과제 label Jun 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Advanced 심화 과제 Challenge 도전 과제 Essential 필수 과제
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant