IT/Android

[Android Studio/Java] Switch 문 R.id

nohumb 2023. 11. 8. 21:51
SMALL

Switch 문의 변수는 상수만 허용되는데 SDK 14 이후 R.id. 형식의 id 값은 상수가 아니게 되었다

그래서 해당 방식으로 코딩할 경우 " constant expression required" 에러가 발생한다.

그러므로 r.id 를 통해 id 값을 이용할 경우 다음과 같이 사용한다.

기존

switch(getItemId()){
	case R.id.red:
    	baseLayout.setBackgroundColor(Color.RED);
        return true;
    case R.id.blue:
    	...
}

수정

int id = getItemId();

if(id == R.id.red){
	baseLayout.setBackgroundColor(Color.RED);
	return true;
}else if(id == R.id.blue){
	...
}
LIST