Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

안드로이드에서 배열을 활용해 스피너(Spinner)를 프로그래밍 방식으로 만드는 방법

안드로이드에서 배열로 스피너 만들기

이 튜토리얼에서는 안드로이드 앱에서 문자열 배열(String Array)을 활용해 스피너(Spinner)를 프로그래밍 방식으로 생성하고 화면에 표시하는 방법을 단계별로 살펴봅니다. 스피너는 사용자가 드롭다운 목록에서 항목을 선택할 수 있도록 해주는 대표적인 안드로이드 UI 컴포넌트입니다.

1단계 – 새 프로젝트 생성

Android Studio에서 새 프로젝트를 만듭니다. 상단 메뉴에서 File ⇒ New Project를 선택한 후, 프로젝트 생성에 필요한 정보를 모두 입력합니다.

2단계 – 레이아웃 XML 작성

res/layout/activity_main.xml 파일에 아래 코드를 추가합니다. 화면 중앙에 스피너를 배치하고, 그 위에 제목 역할을 하는 TextView를 함께 넣었습니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="30dp"
        android:layout_above="@id/spinner"
        android:text="Spinner from Array in Android"
        android:textSize="16sp"
        android:textStyle="bold"/>
    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true">
    </Spinner>
</RelativeLayout>

3단계 – MainActivity 코드 작성

src/MainActivity.java 파일에 아래 코드를 추가합니다. 여기서 핵심은 세 가지입니다.

  • colors 배열: 스피너에 표시할 색상 이름들을 문자열 배열로 정의합니다.
  • ArrayAdapter 생성: 안드로이드 기본 제공 레이아웃인 simple_spinner_dropdown_item과 배열 데이터를 연결해 어댑터를 만듭니다.
  • 어댑터 연결: setAdapter() 메서드로 스피너에 어댑터를 설정하면 배열의 항목들이 드롭다운 목록에 나타납니다.
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
    Spinner spinner;
    String colors[] = {"Red","Blue","White","Yellow","Black", "Green","Purple","Orange","Grey"};
    ArrayAdapter<String> spinnerArrayAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner = findViewById(R.id.spinner);
        spinnerArrayAdapter = new ArrayAdapter<>(this,
        android.R.layout.simple_spinner_dropdown_item, colors);
        spinner.setAdapter(spinnerArrayAdapter);
    }
}

4단계 – 매니페스트 설정

androidManifest.xml 파일에 아래 코드를 추가합니다. MainActivity가 앱 실행 시 가장 먼저 시작되는 런처 액티비티로 등록되어 있는지 확인하세요.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 결과를 확인해 보겠습니다. 실제 안드로이드 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 Run(실행) 아이콘을 클릭하세요. 기기 선택 목록에서 자신의 모바일 기기를 고르면, 실제 기기 화면에 아래와 같은 기본 화면이 표시됩니다.

안드로이드에서 배열을 활용해 스피너(Spinner)를 프로그래밍 방식으로 만드는 방법


안드로이드에서 배열을 활용해 스피너(Spinner)를 프로그래밍 방식으로 만드는 방법