2010년 2월 16일 화요일

[android] Spinner 예제

#. 스핀컨트롤
  GUI 툴킷으로 제공하는 드롭다운 선택기능.
  ListView와 비슷하지만 화면 전체를 차지하지않고 원하는 선택 기능 충분히 사용
  but 화면을 한번더 터치해야함...


# main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<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"
/>
</LinearLayout>



#. 소스코드
package android.SpinnerExample;

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;
import android.widget.AdapterView.OnItemSelectedListener;

public class SpinnerExample extends Activity implements OnItemSelectedListener{

TextView selection;
String[] items = {"lorem", "ipsum", "wallet", "pen", "cellPhone", "key", "gum", "mp3", "face", "clock"};

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

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

        Spinner spin = (Spinner)findViewById(R.id.spinner);
        spin.setOnItemSelectedListener(this); // 액티비티 스스로를 선택 변경 이벤트에 대한 리스너로 등록

        ArrayAdapter<String> aa =
         new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);

        // 드롭다운 화면에 표시
        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(aa);
    }


    @Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
selection.setText(items[arg2]);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
selection.setText("");
}
}

댓글 없음:

댓글 쓰기