개발 공부/Android / / 2020. 6. 21. 23:49

[Android Java] 기본 Spinner 구현하기

기본 형태의 Spinner 구현 

 

 

1. res -> values -> array.xml 생성 

Spinner에 넣을 array를 xml 파일로 생성한다. 

 

<resources>
    <string-array name="fruite_kind">
        <item>선택</item>
        <item>사과</item>
        <item>바나나</item>
        <item>딸기</item>
    </string-array>

</resources>

 

 

2. layout에 Spinner 넣기

Spinner를 넣어서 보여줄 화면(layout)에 Spinner를 넣어준다. 

 <Spinner
                android:id="@+id/sp_fruite"
                android:layout_width="match_parent"
                android:layout_height="30dp"
                android:spinnerMode="dropdown"/>

 

 

3. Spinner item layout 생성 

Spinner를 클릭해서 값을 띄울 때 쓸 item layout을 하나 만든다. ConstraintLayout 또는 LinearLayout 없이 그냥 TextView 하나만 들어가면 된다.

res -> layout -> spinner_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:textSize="15sp">
</TextView>

 

 

4. Spinner가 들어 간 layout과 연결된 Java class 파일에 Spinner 선언 및 setAdapter

ArrayAdapter를 이용하여 객체 생성. Spinner에 setAdapter 한다.

//Spinner 선언
Spinner testSpinner = (Spinner)findViewById(R.id.sp_fruite);


//xml에 만들어둔 array.xml값을 불러와 String[], 또는 List로 만들기

//String 배열의 경우 
String[] kinds1 = getResources().getStringArray(R.array.fruite_kind);

//List의 경우
List<String> kinds2 = Arrays.asList(getResources().getStringArray(R.array.fruite_kind));


//ArryaAdapter 객체 생성. 여기서는 List로 만든걸로 써 봄 
ArrayAdapter adapter = new ArrayAdapter(getBaseContext(),R.layout.spinner_item,kinds2);
adapter.setDropDownViewResource(R.layout.spinner_item);
testSpinner.setAdapter(adapter);

 

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유