안드로이드 개발 질문/답변
(글 수 45,052)
게임을 만들고있는데요.
예를 들어
res/drawable-hdpi 폴더안에
파일명이 Stage1, Stage2, Stage3, ..., Stagen인 n개의 이미지가 들어가 있다고 했을 때
스테이지가 랜덤선택이기 때문에
StageList라는 정수형 배열변수에 모두 넣어두고
//ArrayList<Int> StageList = New ArrayList<Int>();
참조하고싶습니다.
정적으로 일일이 아래와 같이 추가해줄 수 도 있지만
StageList.add(R.Drawable.Stage1);
StageList.add(R.Drawable.Stage2);
StageList.add(R.Drawable.Stage3);
.
.
해줄수도 있지만
스테이지가 짧은 주기로 계속 추가될 것을 대비하고 싶습니다.
*********
1. res/drawable안에 이미지 목록을 변수로 받아올 수 있는 방법이 있을까요.
2. 받아올 수 있다면 특정 글자로 시작하는 목록만 받아올 수도 있을까요. (제 경우는 Stage로 시작하는 목록만)




저같은 경우에는 arrays.xml에다가 목록을 저장시켜 두고,
String stages[] = getResources().getStringArray(R.array.stage_list);
int drawableId = getResources().getIdentifier(stages[0], "drawable", getPackageName());
이런 식으로 처리합니다.
Stage 목록을 arrays.xml 같은 걸로 만들어 관리하기도 싫다면 Stage 수 정도만 어딘가에 저장시켜두고 아래와 같이 구하면 됩니다.
int drawableId = getResources().getIdentifier("Stage1", "drawable", getPackageName());
int drawableId = getResources().getIdentifier("Stage2", "drawable", getPackageName());
Stage 수만큼 루프 돌리면 되겠죠..