프로그래밍/안드로이드
코틀린 spinner 사용
OneByteSir
2020. 12. 12. 12:11
class RegisterActivity : AppCompatActivity() {
var customerGradeArray = arrayOf("일반고객","S등급고객","A등급고객","VIP고객") //array.xml로 대신정의
var custGrade="" //고객등급을 넣을 변수
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_register)
var adapter1=ArrayAdapter(this,android.R.layout.simple_spinner_item,customerGradeArray) //어뎁터를 정한다
spCustomerGrade.adapter=adapter1 //보라색에 밑줄은 get과 set이 동시에 되는 변수를 뜻함
spCustomerGrade.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{ //object는 new대신 쓰임
override fun onNothingSelected(p0: AdapterView<*>?) {
}
override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {//p2는 사용자가 선택한 익덱스
custGrade=customerGradeArray[p2] //이러면 값전달
}
}
Log.d("aaaitem",custGrade)
rButton1.setOnClickListener {
var name = edName.text.toString()
var sex=""
if(rb1.isChecked) { //라디오 버튼이 2개니까 rb1 본인이 체크되있으면 남 아니면 여
sex = "남"
} else {
sex = "여"
}
var phone = edPhone.text.toString()
var email = edEmail.text.toString()
var city = edCity.text.toString()
Log.d("aaabb",custGrade)
var myHelper = MyDBHelper(this)
var sqlDB = myHelper.writableDatabase
var insertSql="insert into customerTBL(name, sex, phone, email, city, custGrade) values ('" + name + "' , '" + sex + "' , '"+ phone + "' , '"+ email + "' , '" + city + "' , '"+ custGrade + "' )"
sqlDB.execSQL(insertSql)
Toast.makeText(applicationContext,"insert ok " + name, Toast.LENGTH_SHORT).show()
sqlDB.close()
}
}
}
스피너를 이용해서 값을 다루는 코드이다.
스피너관련코드에 주석을 보면 도움이 될것이다.