스피너(Spinner) : 여러 아이템 중에서 하나를 선택하는 위젯. 윈도우에서는 콤보박스🔻라고 불림.
<스피너 사용하기>
1. activity_main.xml
2. MainActivity.java
package com.example.chapter7_5;
public class MainActivity extends AppCompatActivity {
TextView textView;
String[] items = { "Amy", "Sheldon", "Penny", "Howard", "Leonard", "Raj"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
Spinner spinner = findViewById(R.id.spinner);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
textView.setText(items[i]);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
textView.setText("");
}
});
}
}
ArrayAdapter : 배열로 된 데이터를 아이템으로 추가➕할 때 사용함. (API에서 제공하는 기본 어댑터 중의 하나다.)
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);
<<두번째 파라미터>>는 뷰를 초기화할 때 사용되는 XML 레이아웃의 리소스 ID 값이다.
simple_spinner_item : 스피너를 간단하게 사용할 수 있도록 API에서 제공하는 레이아웃.
문자열을 아이템🎁으로 보여주는 단순 스피너 아이템의 레이아웃이다.
<<세번째 파라미터는>> 아이템으로 보일 문자열 데이터들의 배열이다. (items)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
setDropDownViewResource() : 스피너의 각 아이템들을 보여줄 뷰에 사용되는 레이아웃🌈을 지정하는데 사용됨.
android.R.layout.simple_spinner_dropdown_item : 이걸로 설정하면 가장 단순한 형태의 뷰로 보임.
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
setOnItemSelectedListener : 스피너 객체가 아이템 선택✅ 이벤트를 처리할 수 있도록 사용하는 리스너이다.
(setOnItemClickListener랑 비슷한 느낌인데 뭐가 다른건지 뭔가 알듯말듯..)
3. 실행 결과
스피너로 선택한 텍스트값이 텍스트뷰에 나타난다.
'TIL > 안드로이드 스튜디오' 카테고리의 다른 글
도전!14 - 쇼핑 상품 화면 구성하기 (0) | 2025.01.17 |
---|---|
도전!13 - 리싸이클러뷰에 고객 정보 추가하기 (0) | 2025.01.15 |
7장 - 리싸이클러뷰 (0) | 2025.01.14 |
7장 - 나인패치, 카드뷰, 새로운 뷰 만들기 (0) | 2025.01.11 |
도전!12 - 서비스에서 수신자로 메시지 보내기 (0) | 2025.01.10 |