[Android/Kotlin] 안드로이드 Spinner 커스텀 해보기(2) feat. Hint 만들기
안녕하세요. 이번에는 Spinner 위젯에 간단하게 Hint를 넣은 방법에 대해서 알아보겠습니다.
이전에는 Activity가 onCreate 될때마다 자동적으로 연도는 2021년 월은 1월이 자동으로 선택되었습니다.
2021/01/30 - [Android/Material Design] - [Android/Kotlin] 안드로이드 Spinner 커스텀 해보기 (1)
즉, Array의 첫번째 아이템이 선택되고 있습니다.
이러한 액션을 막거나 또는 사용자에게 Hint 메시지를 줄 수 있는 방법을 소개해 드립니다.
완성된 모습은 아래와 같습니다.
첫번째 항목인 연도와 월을 클릭하면 아무런 반응이 없습니다.
STEP01. Array 첫번째 항목에 Hint 값 추가하기
Array의 첫번째 요소에 연도와, 월을 추가했습니다.
[strings.xml]
<resources>
<string name="app_name">SpinnerExample</string>
<string-array name="spinner_year">
<item>연도</item>
<item>2021</item>
<item>2020</item>
<item>2019</item>
<item>2018</item>
<item>2017</item>
<item>2016</item>
<item>2015</item>
</string-array>
</resources>
[MainActivity.xml]
val test = mutableListOf("월")
val months = DateFormatSymbols().months
test.addAll(months)
STEP02. 첫번째 항목 선택 처리하기
첫번째 항목을 클릭했을 때 아무런 액션이 일어나지 않게 OnItemSelectedListener룰 수정해 줍니다.
[MainActivity.xml]
binding.spinnerYear.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
if (!binding.spinnerYear.getItemAtPosition(position).equals("연도")) {
binding.txtYear.text = "Selected: ${binding.spinnerYear.getItemAtPosition(position)}"
}
}
override fun onNothingSelected(p0: AdapterView<*>?) {
}
}
binding.spinnerMonth.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
if (!binding.spinnerMonth.getItemAtPosition(position).equals("월")) {
binding.txtMonth.text = "Selected: ${binding.spinnerMonth.getItemAtPosition(position)}"
}
}
override fun onNothingSelected(p0: AdapterView<*>?) {
}
}
'기리's Android 이야기' 카테고리의 다른 글
[Android/Kotlin] 안드로이드 Room Database 사용하기(1) (1) | 2021.01.30 |
---|---|
[Android/Kotlin] 안드로이드 Spinner 커스텀 해보기(3) feat. Drop Down Menu (2) | 2021.01.30 |
[Android/Kotlin] 안드로이드 Spinner 커스텀 해보기(1) (3) | 2021.01.30 |
[Android Studio/Kotlin] 안드로이드 Live Template 사용하기 (2) | 2021.01.26 |
[Android/Kotlin] 안드로이드 ArrayAdapter를 활용한 Spinner 구현 (1) | 2021.01.25 |
댓글