728x90
반응형
안녕하세요 이번 글에서는 Spinner을 사용하여 보겠습니다.
Spinner은 웹에서의 셀렉트 박스라고 생각하시면 됩니다.
우선 activity_main.xml에 화면을 만들어 줍니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="217dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
그다음 MainActivity로 이동하여 코딩하여 줍시다.
package com.example.spinnerproject
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.Spinner
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//Spinner 에 들어갈 데이터
var data = listOf("- 선택하세요 - ","1월","2월","3월","4월","5월","6월")
//데이터와 스피터를 연결 시켜줄 adapter를 만들어 준다.
//ArrayAdapter의 두 번쨰 인자는 스피너 목록에 아이템을 그려줄 레이아웃을 지정하여 줍니다.
var adapter = ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data)
//activity_main에서 만들어 놓은 spinner에 adapter 연결하여 줍니다.
spinner.adapter = adapter
//데이터가 들어가 있는 spinner 에서 선택한 아이템을 가져옵니다.
spinner.onItemSelectedListener = object:AdapterView.OnItemSelectedListener{
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
//position은 선택한 아이템의 위치를 넘겨주는 인자입니다.
result.text = data.get(position)
}
override fun onNothingSelected(parent: AdapterView<*>?) {
}
}
}
}
이제 앱을 실행시켜 봅시다.
오늘도 봐주셔서 감사합니다.
728x90
반응형
'KOTLIN' 카테고리의 다른 글
코틀린(Kotlin) 권한허용 (0) | 2021.01.17 |
---|---|
코틀린(Kotlin) 리사이클러뷰 사용하기 (1) | 2021.01.10 |
코틀린(Kotlin) intent 사용하기 - [setResult & startActivityForResult] (0) | 2021.01.09 |
코틀린(Kotlin) Intent 사용하기 (0) | 2021.01.09 |
[ 안드로이드 스튜디오 ] 컨스트레인트 레이아웃 사용하기 (0) | 2021.01.02 |