1. Spinner
스피너는 콤보박스라 불리는 선택위젯이다.
한 아이템이 텍스트 하나인 경우일 때 주로 쓰인다.
스피너는 <Spinner> 태그를 이용해 XML 레이아웃에 추가하고 어댑터를 만들어 설정한다.
Arrayadapter를 사용하면 여러 개의 데이터를 담아둘 수 있다.
안드로이드 SDK에서 제공하는 XML 레이아웃인 android.R.layout.simple_spinner_item을 이용하여
간단하게 하나의 아이템을 위한 레이아웃을 나타낸다.
스피너는 이미 선택된 아이템이 보이는 뷰와 아이템을 선택하기 위해 보이는 뷰가 다르기 때문에 2개의 뷰가 필요하다.
선택하기 위해 보이는 뷰는 setDropDownResource 메서드를 이용하여 설정한다.
2. 실행 결과 화면
3. activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: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" xmlns:app="http://schemas.android.com/apk/res-auto" tools:context="com.tistory.qlyh8.pracitice.MainActivity" android:layout_margin="8dp" android:orientation="vertical"> <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:textAlignment="center" android:text="선택하세요"/> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp"> </Spinner> </LinearLayout> | cs |
4. MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | package com.tistory.qlyh8.pracitice; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView textView; Spinner spinner; String[] items = {"사과", "배", "바나나", "딸기", "포도"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.text); spinner = findViewById(R.id.spinner); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, items); arrayAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item); spinner.setAdapter(arrayAdapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { textView.setText(items[position]); } @Override public void onNothingSelected(AdapterView<?> parent) { textView.setText("선택하세요"); } }); } } | cs |
출처: https://www.edwith.org/boostcourse-android/lecture/17058/
'Android' 카테고리의 다른 글
Android Studio와 Git 연동하기 (0) | 2018.05.18 |
---|---|
GridView (그리드뷰) (0) | 2018.05.07 |
ListView (리스트뷰) - 예제 (0) | 2018.05.06 |
ListView (리스트뷰) (0) | 2018.05.06 |
Inflation (인플레이션) (0) | 2018.05.01 |