note

스핀 컨트롤 Spinner 본문

Android/기본

스핀 컨트롤 Spinner

투한 2012. 1. 9. 17:26
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/selection"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Spinner 
        android:id="@+id/spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawSelectorOnTop="true" />
</LinearLayout>


package com.commonsware.android.selection7;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class SpinnerDemo extends Activity implements
		AdapterView.OnItemSelectedListener {
		//이벤트 리스너

	TextView selection;
	String[] items = { "lorem", "ipsum", "dolor", "sit", "amet",
			"consectueuer", "adipiscing", "elit", "morbi", "vel", "ligula",
			"vitae", "arcu", "aliquet", "mollis", "etiam", "vel", "erat",
			"placerat", "ante", "porttitor", "길다", "많다", "너무 많다", "너무 길다", };

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		selection = (TextView) findViewById(R.id.selection);

		//이벤트 소스
		Spinner spin = (Spinner) findViewById(R.id.spinner);
		
		//이벤트 소스와 이벤트 리스너가 구현된 객체 연결
		spin.setOnItemSelectedListener(this);

		//어댑터를 이용해 데이터 셋팅
		ArrayAdapter aa = new ArrayAdapter(this,
				android.R.layout.simple_spinner_dropdown_item, items);

		//드롭다운  화면에 표시할 리소스 지정
		aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		
		//ArrayAdapter를 Spinner에 등록
		spin.setAdapter(aa);
	}

	//이벤트 핸들러
	//전달된 인자
	//AdapterView parent : 이벤트가 발생한 Spinner 객체
	//(제네릭 표현을 써야됨 쓰고싶지 않을때,노란줄이 가더라도 안쓰는것이 좋음)  = Object
	//view v : Spinner 하위 객체의 이벤트가 발생한 객체 
	//position : 이벤트가 발생한 위치
	//id : position = id
	public void onItemSelected(AdapterView parent, View v, int position,
			long id) {
		selection.setText(items[position]);
	}
	//이벤트 핸들러
	public void onNothingSelected(AdapterView parent) {
		selection.setText("");
	}
}


'Android > 기본' 카테고리의 다른 글

AutoComplete 자동완성기능  (0) 2012.01.10
그리드 Grid  (0) 2012.01.09
ListActivity 사용  (0) 2012.01.09
ListActivity ArrayAdapter  (0) 2012.01.09
Android Table Layout  (0) 2012.01.06