여러 개의 문자열을 찾아 텍스트뷰에 설정하기

참고 프로젝트: TextViewDemoC2

이전 예제에서는 여러 개의 리소스 아이디를 찾아와서 사용하는 방법을 살펴보았다. 이번에는 strings.xml에 저장되어 있는 문자열들을 읽어와서 한 개의 텍스트뷰에 설정하는 방법을 살펴보겠다.

먼저 레이아웃에 텍스트뷰를 한 개 선언한다.

코드 레이아웃 XML - /res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

그리고 이 텍스트뷰에 보여줄 문자열을 작성한다. 이때 한 개의 텍스트뷰에 여러 개의 문자열을 보여줄 것이기 때문에 다음처럼 문자열을 여러 개 작성한다.

코드 문자열 XML - /res/values/strings.xml

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

    <string name="app_name">TextViewDemoC2</string>
    <string name="str1">가</string>
    <string name="str2">나</string>
    <string name="str3">다</string>
    <string name="str4">라</string>
    <string name="str5">마</string>
    <string name="str6">바</string>

</resources>

"app_name" 항목은 자동으로 생성된 것이고, 그 아래 "가", "나", "다", "라", "마", "바"는 이 예제를 위해 작성한 것이다.

코드 Main.java

package com.androidside.textviewdemoc2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String str = "";
        for (int i = 1; i < 7; i++) {
            int resID = getResources().getIdentifier("str" + i, "string",
                    "com.androidside.textviewdemoc2");

            str += getString(resID);
        }

        ((TextView) findViewById(R.id.text)).setText(str);
    }
}

이 코드에서 가장 중요한 코드는 getString() 메소드이다. 이 메소드는 주어진 리소스 아이디를 가지고 문자열을 가지고 오는 메소드이다.

results matching ""

    No results matching ""