[안드로이드] 스피너(Spinner)이용하기 - ArrayList, ArrayAdapter사용.
안녕하세요. 오늘 소개해 드릴 내용은 스피너를 사용하는 방법이에요.
스피너의 기본예제들을 찾아보면 대부분 strings.xml을 이용하는 방식만
포스팅 되어있을거에요ㅠㅠ.. 그래서 ArrayList를 이용하는 방법을 알려드리려고 해요.
ArrayAdapter를 이용하여 Spinner를 구현하는 방법을 알아보도록 하죠.
Spinner는 기본적으로 자신이 담아야할 내용들을 adapter를 통해 가져오게 되요.
쉽게말해, 스피너는 껍데기일뿐 adapter에 데이터들을 담아서 가져온다고 생각하시면 되요.
1. 먼저, 스피너에 넣을 ArrayList를 만들어줄게요.
ArrayList arrayList = new ArrayList<>(); arrayList.add("철수"); arrayList.add("영희"); arrayList.add("람휘"); arrayList.add("녹지"); arrayList.add("치치"); arrayList.add("양가"); arrayList.add("용병");
2. 그리고 스피너를 선언해주도록 할게요.
spinner2 = (Spinner)findViewById(R.id.spinner2);
3. ArrayAdapter에 ArrayList를 넣어줄게요.
arrayAdapter = new ArrayAdapter<>(getApplicationContext(),android.R.layout.simple_spinner_dropdown_item,arrayList);
4. 마지막으로 스피너에 .setAdapter()를 이용하여 adapter를 넣어주시면 끝!
spinner2.setAdapter(arrayAdapter);
전체소스입니다.
[MainActivity.java]
public class MainActivity extends AppCompatActivity { private Spinner spinner2; ArrayList<String> arrayList; ArrayAdapter<String> arrayAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_spinner); arrayList = new ArrayList<>(); arrayList.add("철수"); arrayList.add("영희"); arrayList.add("람휘"); arrayList.add("녹지"); arrayList.add("치치"); arrayList.add("양가"); arrayList.add("용병"); arrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, arrayList); spinner2 = (Spinner)findViewById(R.id.spinner2); spinner2.setAdapter(arrayAdapter); spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { Toast.makeText(getApplicationContext(),arrayList.get(i)+"가 선택되었습니다.", Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }); } }
[activity_main.xml]
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:text="SpinnerActivity" android:textSize="40sp" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="30dp"/> <Spinner android:id="@+id/spinner2" android:layout_width="match_parent" android:layout_height="wrap_content"></Spinner> </LinearLayout>
5.구현사진
'IT 개발 > 안드로이드개발' 카테고리의 다른 글
안드로이드 HTTP(PUT)방식으로 데이터 지우기 (0) | 2018.10.26 |
---|---|
안드로이드 HTTP(GET)방식으로 데이터 받기 (0) | 2018.10.26 |
안드로이드 HTTP(POST)방식으로 데이터 받기 (0) | 2018.10.26 |
[안드로이드] 리스트(List)만들기 - RecyclerView이용. (0) | 2018.10.23 |
[안드로이드] 액티비티(화면)전환, Intent이용 (0) | 2018.10.19 |
[안드로이드] 현재 GPS정보 알아오기/ 내 현재위치 찾기 (2) | 2018.10.13 |
[안드로이드] JSON 파싱 - JsonArray 가져오기 (3) | 2018.10.12 |
[안드로이드]Json 파싱 - URL에서 JSON 읽기 (0) | 2018.10.12 |