R.string 참조 대신 R.array 참조로 배열 생성하기

Posted on

strings.xml 파일의 엘리먼트들은 값을 가지고 있습니다. 태그가 둘러싼 가운데 끼어있는 값이죠. 이를 읽어올때 R.string 참조를 쓰면 R.string 다음에 오는 문자열을 조사해서 strings.xml 파일에 들어있는 엘레먼트 값을 읽어옵니다. 아래와 같이 실험해볼 수 있습니다.

만일 name 어트리뷰트가 hello1부터 hello10까지 있어서 규칙적으로 엘리먼트 속성의 하나가 일괄적으로 숫자가 증가하도록 된 경우 아래 코드처럼 배열로 저장해야 할 때가 있습니다.

이렇게 해서 함수에 전달하면 작동하지 않습니다. greetings[i] 값은 문자열 값이지, R.string 참조가 지시하는 값이 아니기 때문입니다.

이 경우 배열 생성을 꼭 해야 한다면, R.array 참조를 써볼만합니다.

strings.xml 파일에

처럼 하나의 R.array 참조 이름 아래에 item을 기재하고

처럼 쓰는게 가능해집니다. 그러면 위에 예시된 코드처럼 배열을 일부러 루프 돌려 하지 않아도 되고, R.string 참조 문자열을 쓸 궁리를 안해도 해결됩니다.

https://developer.android.com/guide/topics/resources/string-resource?hl=ko

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다