반응형
스피너는 선택 위젯으로 다른 선택 위젯과 마찬가지로 Adapter 설정을 해줘야한다. 추가 적으로 스피너는 드랍 박스 식으로 누르면 해당 하는 아이템을 보여주고, 선택 하면 그 선택된 item 을 받을 수 있다. 다음 실습을 통해 스피너에 대한 기본 사용법 을 익혀 보자.
1) XML 안에 스피너 넣기
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="43dp"
android:scrollbarSize="20dp"/>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:layout_marginLeft="20dp"
android:text="선택 : "
android:textSize="20sp"/>
</LinearLayout>
2) MainActivity 에서 스피너 객체 선언
Spinner spinner;
String [] items = {"소녀시대", "티아라","여자친구", "블랙핑크"};
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
spinner = (Spinner) findViewById( R.id.spinner );
textView = (TextView) findViewById( R.id.textView );
3) Array Adapter 설정
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this,android.R.layout.simple_spinner_item, items
);
4) Adapter 안에 view Resourese 정의 하고, adater set 할 것.
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
spinner.setAdapter( adapter );
5) spinner 에 setOnItemSelectedListener 설정
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( "선택 안됨" );
}
} );
6) 전체 코드
public class MainActivity extends AppCompatActivity {
Spinner spinner;
String [] items = {"소녀시대", "티아라","여자친구", "블랙핑크"};
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
spinner = (Spinner) findViewById( R.id.spinner );
textView = (TextView) findViewById( R.id.textView );
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this,android.R.layout.simple_spinner_item, items
);
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
spinner.setAdapter( adapter );
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( "선택 안됨" );
}
} );
}
}
7) 동작 확인
'안드로이드 프로그래밍[JAVA Code] > 선택 위젯' 카테고리의 다른 글
리싸이클러뷰 : (0) | 2019.12.19 |
---|---|
선택 위젯 : 리스트뷰&그리드뷰 : baseAdapter 정의 하기 (0) | 2019.12.04 |