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

Android 스피너(Spinner)에 항목 추가하는 방법 – 단계별 완벽 가이드


Android 스피너(Spinner)란?

스피너(Spinner)는 드롭다운 버튼과 비슷한 안드로이드 위젯으로, 미리 준비된 여러 항목 중에서 하나를 선택할 수 있게 해주는 UI 요소입니다. 이번 글에서는 안드로이드 앱에서 스피너에 항목을 추가하고, 사용자가 항목을 선택했을 때 이벤트를 처리하는 방법까지 단계별로 알아보겠습니다.

1단계: 새 프로젝트 생성

Android Studio를 실행한 뒤 File ⇒ New Project 메뉴로 이동하여 새 프로젝트를 만들고, 프로젝트 생성에 필요한 정보를 모두 입력합니다.

2단계: 레이아웃 파일 작성

res/layout/activity_main.xml 파일에 아래 코드를 추가하여 스피너를 배치합니다.

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.constraint.ConstraintLayout
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">
<LinearLayout
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:gravity = "center"
    android:orientation = "vertical">
    <Spinner
        android:id = "@+id/spinner"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:prompt = "@string/app_name"
    />
</LinearLayout>
</android.support.constraint.ConstraintLayout>

3단계: MainActivity 코드 작성

src/MainActivity.java 파일에 아래 코드를 추가합니다.

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Spinner spinner = findViewById(R.id.spinner);
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("JAVA");
        arrayList.add("ANDROID");
        arrayList.add("C Language");
        arrayList.add("CPP Language");
        arrayList.add("Go Language");
        arrayList.add("AVN SYSTEMS");
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, arrayList);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(arrayAdapter);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String tutorialsName = parent.getItemAtPosition(position).toString();
                Toast.makeText(parent.getContext(), "Selected: " + tutorialsName,
                Toast.LENGTH_LONG).show();
            }
            @Override
            public void onNothingSelected(AdapterView <?> parent) {
            }
        });
    }
}

코드 핵심 살펴보기

위 코드의 핵심은 ArrayList에 표시할 항목들을 담은 뒤, 이를 ArrayAdapter에 연결하여 스피너에 적용하는 부분입니다.

ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("JAVA");
arrayList.add("ANDROID");
arrayList.add("C Language");
arrayList.add("CPP Language");
arrayList.add("Go Language");
arrayList.add("AVN SYSTEMS");
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arrayList);
  • ArrayList: 스피너에 표시할 문자열 항목들을 순서대로 저장합니다.
  • ArrayAdapter: 데이터 목록과 스피너 UI를 연결하는 역할을 하며, setDropDownViewResource()로 드롭다운 목록의 모양을 지정합니다.
  • setOnItemSelectedListener(): 사용자가 항목을 선택했을 때 onItemSelected() 콜백이 호출되며, 여기서 Toast로 선택된 항목을 화면에 알려줍니다.

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 열고, 툴바의 실행(Run) 아이콘을 클릭하세요. 기기 선택 목록에서 사용 중인 모바일 기기를 고르면, 해당 기기 화면에 앱의 기본 화면이 나타납니다.

Android 스피너(Spinner)에 항목 추가하는 방법 – 단계별 완벽 가이드

스피너를 눌러 원하는 항목을 선택하면 아래 그림처럼 선택 결과가 표시됩니다.

Android 스피너(Spinner)에 항목 추가하는 방법 – 단계별 완벽 가이드