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("");
	}
}
댓글 없음:
댓글 쓰기