[안드로이드] - setOnItemSelectedListener 이용한 Spinner 이벤트 처리
| setOnItemSelectedListener 이용한 Spinner 이벤트 처리
※ Spinner 는 드롭다운되어 목록 중 하나를 선택하는 위젯이다
※ Spinner 는 ListView 와 달리 setOnItemSelectedListener 를 이용하여 이벤트 처리를 한다
※ Spinner, ListView 등 많은 데이터 처리 시 ArrayAdapter 를 이용한다
※ onItemSelected 에서 position 변수로 몇번째 값이 선택됬는지를 확인할 수 있다
Spinner spinner = (Spinner)findViewById(R.id.spinner); String text = spinner.getSelectedItem().toString();
값을 가져올땐 이렇게 간단하게 가져올 수도 있다
public class MainActivity extends AppCompatActivity {
TextView textView ;
Spinner spinner1;
String[] list = {"만화/웹툰", "메모", "뮤직", "북마크", "사전", "매거진캐스트"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Spinner Test");
textView = (TextView)findViewById(R.id.textView);
spinner1 = (Spinner)findViewById(R.id.spinner1);
// 스피너에 데이터 넣기, 레이아웃 모양 결정
// 여기에, 어떤 레이아웃 모양 사용(만들어진 것 사용), 어떤 데이터를 삽입(android.가 있으면 미리 만들어진 것)
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,list);
spinner1.setAdapter(adapter);
// 스피너 이벤트 처리 ( 스피너 = setOnItemSelectedListener 이용)
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override // position 으로 몇번째 것이 선택됬는지 값을 넘겨준다
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
textView.setText(list[position] + " 선택되었습니다");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
textView.setText("아무것도 선택되지 않았습니다");
}
});
}
}
'안드로이드' 카테고리의 다른 글
[안드로이드] - SQLiteDatabase 를 이용한 DB 처리 (0) | 2017.05.19 |
---|---|
[안드로이드] - setOnItemClickListener 이용한 ListView 이벤트 처리 (0) | 2017.05.08 |
[안드로이드] - VideoView + MediaController 이용한 동영상 재생 (0) | 2017.05.01 |
[안드로이드] - MediaPlayer 이용한 음악 재생 (0) | 2017.05.01 |
[안드로이드] - isChecked() 를 이용한 체크박스 및 라디오버튼 (0) | 2017.04.21 |