안드로이드(Android) 배열 리소스 <string-array>
배열 리소스는 보통 /res/values/arrays.xml 에서 관리한다.
arrays.xml 파일을 새로 만들고, 배열(string-array)을 등록하고 xml과 java에서 리소스를 호출하여 보자.
1. res(리소스)에 <string-array> 등록하기
/res/values 밑에 arrays.xml 파일을 새로 만든다.
<stirng-array> 등록
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="company"> <item>Samsung</item> <item>Hyundai</item> <item>LG</item> <item>SK</item> <item>KIA</item> </string-array> </resources> |
- 배열(string-array)로 name을 company로 등록
- company 밑에 Samsung, Hyundai, LG, SK, KIA 를 속성으로 등록했다.
2. layout의 xml에서 배열 <string-array> 불러오기
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:id="@+id/ListView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/company" /> </RelativeLayout> |
- <ListView> 를 사용하여 <string-array> 호출
- id : ListView1 ( android:id="@+id/ListView1" )
- 속성 : name이 company인 array ( android:entries="@array/company" )
프로그램 실행 결과
- 리소스에 등록된 company의 item 들이 <ListView>형태로 출력됐다.
3. Activity.java 에서 <string-array> 리소스 불러오기
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 리소스에서 name이 company인 array를 가져와서 String[] 배열에 대입 String[] company = getResources().getStringArray(R.array.company); // company를 ArrayAdapter에 등록한다. //(ListView는 Adapter를 통해서 등록한다.) // simple_list_item_1은 textview를 담고 있는 xml 형태이다. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, company); // 리소스에서 id 가 ListView1 인 ListView를 가져온다. // ListView에 adapter를 등록한다. ListView listView1 = (ListView)findViewById(R.id.ListView1); listView1.setAdapter(adapter); } } |
- getResource().getStringArray() 를 사용하여 리소스에서 company <string-array>를 배열 형태로 가져온다.
- ListView에는 ArrayAdapter 형태로 데이터를 대입해야하기에 ArrayAdapter<String>에 company를 등록한다.
- findViewById로 ListView1 을 가져온다.
- ListView1에 Adapter를 등록한다.
프로그램 실행 결과
- ListView에 등록한 <string-array>를 그대로 등록했기에 결과는 같다.
'Dev_안드로이드 > 참고소스' 카테고리의 다른 글
Android checkbox 예제 (0) | 2016.08.05 |
---|---|
Android spinner (drop down list) 예제 (0) | 2016.08.05 |
EditText에서 엔터키 눌렀을때 키보드 숨기기 (0) | 2016.08.04 |
Switch 스타일 변경 (0) | 2016.07.27 |
ADB shell command (0) | 2016.07.27 |