본문 바로가기
안드로이드

Resource 배열처리

by 아카이sun 2016. 2. 9.

작업을 하다보면 string, integer와 같은 resource들을 나열해서 쓸때가 있다.

나열된 resource들은 코드를 복잡하게 만드는 주범이다.


이때 array를 이용하여 처리한다면 깔끔하게 처리할 수 있다.


다음과 같이 알기 쉽게 array라는 xml파일에 작업하도록 하겠다.



array는 string , integer, drawable 등 다양한 형태로 추가 가능하다.

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string-array name="test_array">
<item>test1</item>
<item>test2</item>
<item>test3</item>
<item>test4</item>
</string-array>

<integer-array name="test_interger">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</integer-array>

<array name="drawable">
<item>@drawable/ic_place_white_24dp</item>
<item>@drawable/ic_local_hotel_white_24dp</item>
</array>

</resources>



꺼내 쓰는 방법은 다음과 같이 하면된다.

여기서 drawble은 TypedArray를 써서 담아야 한다.


String[] strList = getResources().getStringArray(R.array.test_array);
List<Integer> list= Arrays.asList(R.array.test_interger);
TypedArray typedArray = getResources().obtainTypedArray(R.array.drawable);


최종적으로 TypeArray에 담긴 drawable은 아래와 같이 꺼내 쓴다.

menuList.getResourceId(position, -1);


'안드로이드' 카테고리의 다른 글

내 주변의 와이파이 목록 가져오기  (6) 2016.02.21
Decompile - 디컴파일  (0) 2016.02.10
안드로이드 비디오 재생하기  (0) 2016.02.06
이미지 선택시 번호 표시하기  (0) 2016.02.02
ButterKnife 사용하기  (1) 2016.01.31

댓글