예시 설명
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를 입력하면 정상 동작한다.
까먹지 않으려고 내용을 정리해봤다.
'개인기록 > 개발공부' 카테고리의 다른 글
| JavaScript의 아버지 브랜든 아이크(Brendan Eich) (0) | 2022.10.13 |
|---|---|
| [React] 설치 과정에서 AWS 인스턴스와 VS Code 연결 끊김 현상 (0) | 2022.10.12 |
| [안드로이드] BottomNavigation 폰트 변경 방법 (1) | 2022.10.10 |
| [안드로이드] D/EGL_emulation: app_time_stats: 없애는 법 (0) | 2022.10.08 |
| npm vs npm (0) | 2022.10.07 |