inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

윤재성의 자바 기반 안드로이드 앱개발 Part 1 - UI Programming

25강 CheckBox

상태 변화 리스너 중 switch-case문 오류 문제

3697

bumseok123

작성한 질문수 2

0

강의 22분 35초 경 switch-case 문을 통해 체크박스의 id로 분기를 하려고 할 때

// id로 분기함
            switch (checkboxId) {
                case R.id.checkBox:
                    break;

case 문의 R.id.checkBox

부분에서 "Constant expression required" 에러가 발생합니다.

구글링을 해보니 switch-case 문의 상수가 final로 선언되지 않아 발생하는 문제라고 하는데

어떻게 해결할 수 있을까요?

java android

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

님의 “Constant expression required” 오류 문제는 말씀하신 것처럼 switch-case 문에서 사용된 값이 final 즉, 상수가 아니기 때문에 발생하는 것이 맞습니다. Java에서 switch-case 구문은 case에 상수값을 요구합니다. 주로 R.id.checkBox와 같은 리소스 ID들은 final이긴 하지만, 때때로 Android 빌드 시스템이 이를 final로 처리하지 않아 이런 문제가 발생할 수 있습니다.

이를 해결하려면 몇 가지 방법이 있습니다:

  1. if-else 문을 사용합니다.
if (checkboxId == R.id.checkBox) {
    // 처리할 코드
} else if (checkboxId == R.id.anotherCheckbox) {
    // 처리할 코드
}
  1. 리소스 ID를 상수로 명시적으로 정의합니다.
final int checkBoxId = R.id.checkBox;
switch (checkboxId) {
    case checkBoxId:
        break;
}
  1. Android Studio를 최신 버전으로 업데이트하고, 프로젝트를 Clean 하고 Rebuild 해보는 것도 문제 해결에 도움이 될 수 있습니다.

  2. 현재 사용하고 계신 R 클래스가 정상적인지 (예를 들어 import 문에서 잘못된 R 클래스를 사용하고 있지 않은지) 확인해보시기 바랍니다.

깃헙, 스택오버플로우와 같은 개발자 커뮤니티에서 유사한 문제의 해결 사례를 찾아보실 수도 있습니다. 또한, 강의의 다른 부분에서 관련 내용이 나올 수 있으니 해당 강의의 내용도 잘 확인하여보시길 바랍니다.

원하는 답변을 찾지 못하셨다면 인프런 홈페이지의 ‘문의하기’를 통해 직접 문의해 보시기 바랍니다.

인프런 문의하기

더 궁금한 사항이 있으시면 서비스 이용 중 오류가 발생했을 때를 대비한 서비스오류 관련 도움말도 참고하시길 바랍니다.

"컴파일 시점에 없는 값을 어떻게 참조할 것인가?" 섹션

0

7

1

실기 공부 시작 하려고 하는데요

0

16

2

김영한로드맵으로 백엔드개발자가 될 수 있나요?

0

18

0

12강에서 shrinkColumns 의 설정이 되지 않아요

0

55

1

8강 viewBinding의 경우에 안드로이드 14에서는 gradle scripts에 작성하면 에러가 나서 적용을 못하는데

0

144

1

New Project 생성 시 에러

0

559

1

코드변경

0

204

1

andriod.R.layout 에러 발생

1

295

1

20강 android view.View 자동 임포트 관련 질문입니다.

0

412

1

Android x ScrollView 실습 에러

0

266

1

layout pallet 생성 문의

0

455

1

안드로이드 스튜디오 레이아웃 파렛트 오픈 문의

0

274

1

45강 항목 클릭 관련

0

245

2

에러가 납니다.

0

378

2

Layout 속성 지정 항목이 다 나오지 않습니다.

0

258

1

8강 viewbinding 강의 관련 질문입니다.

0

519

1

RecyclerView48강 질문입니다.

0

263

1

AutoCompleteTextView의 버그관련 질문입니다

0

241

1

어뎁터_엑티비티 질문입니다!

0

376

1

강의에 사용하신 이미지는 어디에서 다운 받아야하나요?

0

282

1

30강의 음성 파일이 다른 내용을 설명하고 있습니다.

0

280

1

findViewbyid ViewBinding 질문

0

228

1

7강 View의 기본 개념에서 import 관련 질문드립니다.

1

244

1

파트2

0

219

1