안드로이드 자바
[JAVA][Android] ArrayAdapter를 이용하여 Spinner 구현
teamnova
2022. 1. 24. 12:00
728x90
Spinner는 선택해야 할 내용들을 adapter에 데이터를 담아서 가져온다.
1. 스피너에 넣을 ArrayList를 만든다.
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("가지볶음");
arrayList.add("닭볶음탕");
arrayList.add("광어회");
arrayList.add("후라이드치킨");
arrayList.add("낫또");
arrayList.add("청국장");
arrayList.add("닭가슴살샐러드");
2. ArrayAdapter를 만들어 주고, ArrayAdapter에 ArrayList를 넣어줍니다.
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, arrayList);
3. spinner를 만들어 주고 spinner에 어뎁터를 연결해 줍니다.
Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setAdapter(arrayAdapter);
4. spinner에 클릭리스너를 달아주고 클릭되었을 때 토스트메시지를 띄워줍니다.
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{ @Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(),arrayList.get(i)+" 선택되었습니다.", Toast.LENGTH_SHORT).show();
} @Override
public void onNothingSelected(AdapterView<?> adapterView) {
// 선택되지 않았을 때
}
});
<전체코드>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("가지볶음");
arrayList.add("닭볶음탕");
arrayList.add("광어회");
arrayList.add("후라이드치킨");
arrayList.add("낫또");
arrayList.add("청국장");
arrayList.add("닭가슴살샐러드");
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, arrayList);
Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setAdapter(arrayAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{ @Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(),arrayList.get(i)+" 선택되었습니다.", Toast.LENGTH_SHORT).show();
} @Override
public void onNothingSelected(AdapterView<?> adapterView) {
// 선택되지 않았을 때
}
});
}
}
실행
