Android 애플리케이션 개발에서 Spinner를 사용하는 방법

(12 월 20 일 , 2020)

스피너는 사용자가 옵션 목록에서 선택합니다. 스피너는 라디오 그룹처럼 작동하지만 옵션이 많은 경우 라디오 그룹은 모든 라디오 버튼이 화면의 공간을 차지하기 때문에 잘못된 선택입니다. 스피너는 사용 가능한 모든 옵션이 첨부 된 드롭 다운보기 일 뿐이므로이 문제를 해결합니다. 기본 상태에서 스피너는 현재 선택된 값을 표시합니다.

이 자습서에서는 모든 요일을 표시하는 스피너를 만들 것입니다. 우리는    주의 모든 요일을   알고 있으므로 상용구 코드 (불필요한 코드)를 줄이기 위해 string.xml 파일에서 선언 할 문자열 배열을 사용합니다.

string.xml 파일에서 모든 요일을 선언하는 것으로 시작합니다. . 그렇게하려면 Res –> Values ​​–> String.xml 파일로 이동합니다. string-array라는 태그를 추가하고 나중에 코드에서 액세스 할 수 있도록 “days”라는 이름을 지정합니다. 그런 다음 각 값 (요일)에 대해 항목이라는 두 번째 중첩 태그를 엽니 다.

layout.xml 파일로 이동하여 스피너를 삽입합니다. 공간을 절약하기 위해 레이아웃 너비와 높이를 wrap\_content로 설정하고 원하는 위치에 스피너를 고정하도록 제약 조건도 설정합니다. 그런 다음 android : entries속성을 사용하여 spinner가 string.xml 파일의 값에 액세스 할 수 있도록합니다.

다음은 큰 질문입니다. 현재 선택한 항목이 변경 될 때마다 어떻게 감지 할 수 있습니까? 간단합니다. mainActivity.kt 파일에서 스피너의 ID를 호출하고 onItemSelectedListener를 호출합니다. 그런 다음 익명 클래스 “AdapterView.onItemSelectedListener”에 할당합니다. 그런 다음 AdapterView.onItemSelectedListener에 정의 된 함수를 구현하지 않았기 때문에 개체에 빨간색 밑줄이 표시됩니다. CTRL + I를 누르고 Shift 키를 누른 상태에서 두 옵션을 모두 선택하면됩니다. 다음으로 onItemSelected 함수에서 알림을 사용하여 항목이 선택되었음을 나타냅니다.

문자열 배열의 항목을 정의하지 않고 런타임시에만 값을 알고있는 경우 항목을 스피너로 설정할 수도 있습니다. 여기에서 먼저 변수에 스피너 목록을 선언합니다. 그런 다음 스피너 용 어댑터입니다. 어레이 어댑터에서는 R.layout.support\_simple\_spinner\_dropdown\_item이라는 기본 스피너 레이아웃 파일을 사용합니다. 그런 다음 ArrayAdapter의 생성자에 customList 변수를 전달한 다음 어댑터 변수를 스피너 위젯에 할당합니다.

행복한 코딩입니다.  !

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다