GDSC HUFS 3기/Android with Kotlin Team 4

[4팀]14-2~3. 화면구성하기:스피너

gusals42 2021. 11. 8. 05:31

이 글은 이것이 안드로이드다 with 코틀린(개정판)를 참고하여 작성하였습니다.

작성자 : 정현민

개발환경은 Windows, Android Studio입니다.

 

 

1.스피너란?

✔웹페이지에 많이 나오는 것

✔팝업형태의 선택창

스피너 예시

 

 

2. 스피너 만들기

var data=listOf("-선택하세요-", "1월", "2월", "3월")

var adapter =ArrayAdapter<String>(context:this, android.R.layout.simple_list_item_1, data)

-스피너에서 사용할 데이터를 가상으로 생성하는 코드

binding.spinner.adapter = adapter
binding.spinner.onItemSelectedListener=object : AdapterView.onitemSelectedListener{
	override fun onNothingSelected(parent: AdapterView<*>?) {}
	override fun onItemSelected(parent: AdapterView<*>?, view: View?, position:Int, id:Long){ {
    	val selected = data.get(position)
        binding.result.text = selected
    }
}

-사용자가 항목을 선택하면, 인터페이스 안에서 method를 구현하기 위한 코드

object 밑에 빨간줄 생성 (method가 구현되지 않았기 때문->Ctrl+i 눌러 구현하기)

✔아무것도 선택되지 않았을 때의 method: override fun onNothingSelected

✔선택되었을 때의 method: override fun onItemSelected

(+binding을 묶기 위해 with(binding){this:ActivityMainBinding}을 한 후 binding을 지우면 훨씬 깔끔한 코드 생성 가능)