예시 설명
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를 입력하면 정상 동작한다.
까먹지 않으려고 내용을 정리해봤다.
'개발공부 > Java & 안드로이드' 카테고리의 다른 글
[안드로이드] BottomNavigation 폰트 변경 방법 (0) | 2022.10.10 |
---|---|
[안드로이드] D/EGL_emulation: app_time_stats: 없애는 법 (0) | 2022.10.08 |
[안드로이드] runOnUiThread 메서드 (0) | 2022.10.06 |
[안드로이드] PopupMenu 사용방법 (더보기 버튼) (1) | 2022.10.05 |
[안드로이드] IntelliJ 단축키, 클래스 검색 & 글자 전체 바꾸기 (1) | 2022.10.05 |