예시 설명
A회원이 수강중인 수업 과목을 데이터베이스(DB)에서 받는 경우라고 생각해보자.
유저정보(userInfo) 테이블에 교과목(subject) 칼럼에는 '수학;영어;국어;'의 값이 저장되어있다.
클라이언트에서 전달 받는 값 : 수학;영어;국어;
전달 받은 값을 과목별로 분리해서 배열에 담는다.
이때 사용하는 함수 : split();
String subject = '수학;영어;국어;'
String[] subjectList = subject.split(";"); // ';'를 기준으로 잘라서 배열에 담는다.
배열에 담았으면, 반복문을 통해 과목별 Chip을 생성한다.
for (int i = 0; i< Chip chip = new Chip(ProfileActivity.this);
.length; i++){
Chip chip = new Chip(ProfileActivity.this);
chip.setText(subjectList [i]);
chip.setTextAppearanceResource(R.style.ChipTextStyle);
chip.setChipBackgroundColorResource(androidx.cardview.R.color.cardview_dark_background);
chipGroup.addView(chip);
}
여기서 주의할 사항이 있다.
Chip 객체를 생성할 때, 매개변수에 Context를 담아주어야 한다.
getApplicationContext() 함수를 사용해서 현재 Context를 넣으면 에러가 뜬다.
(다이얼로그에서도 이런 유사한 경험이 있는데 정확한 이유는 모르겠다.)
위 함수를 사용하는 대신에 현재 액티비티.this를 입력하면 정상 동작한다.
까먹지 않으려고 내용을 정리해봤다.
'개발자 도전기' 카테고리의 다른 글
프리온보딩 프론트엔드 코스 설명회 참석 후기 (0) | 2022.10.12 |
---|---|
공부일지 | #1. 개선하기 위해 기록하자 (0) | 2022.10.12 |
aws visual studio permission denied (publickey) (0) | 2022.10.11 |
미첼 레스닉의 평생유치원 | 평생 학습을 즐거워할 수 있어야 한다 (0) | 2022.10.10 |
[안드로이드] BottomNavigation 폰트 변경 방법 (0) | 2022.10.10 |