2019년 12월 11일 수요일

[Android] Spinner 예제 ( combobox )

Android에서는 Spinner 예제( ComboBox )


Spinner에 데이터 추가하는 방법은 2가지 있다.


1. values 폴더에 arrays.xml 파일을 생성하여 string-array를 추가한다.

arrays.xml
<string-array name="spinner_data">
   <item>사과</item>
   <item></item>
   <item></item>
</string-array>

activity.java
protected void onCreate(Bundle savedInstanceState) {
 ...
 ArrayAdapter spinnerAdapter = ArrayAdapter.createFromResource(getContext(),
    R.array.spinner_data, 
 android.R.layout.simple_spinner_item);
 spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

 Spinner mSpinner = findViewById(R.id.spinner_test);
 mSpinner.setAdapter( spinnerAdapter );
}


2. List를 만들어 추가한다.

activity.java
protected void onCreate(Bundle savedInstanceState) {
 ...
 List<String> spinnerDataList = new ArrayList<>();
 spinnerDataList.add("사과");
 spinnerDataList.add("배");
 spinnerDataList.add("귤");

 ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(getContext(),
    android.R.layout.simple_spinner_dropdown_item,
    spinnerDataList);
 spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

 Spinner mSpinner = findViewById(R.id.spinner_test);
 mSpinner.setAdapter( spinnerAdapter );
}



Spinner 리스너 추가하는 방법

mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
 @Override
 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  // 선택된 데이터 값
  String selectedItem = parent.getSelectedItem().toString();
  
  // 선택된 데이터 위치( 0 부터 )
  int selectedItemIndex = position;
 }

 @Override
 public void onNothingSelected(AdapterView<?> parent) {
 }
});















댓글 없음:

댓글 쓰기