λλ€μ
λλ€μμ νλμ ν¨μλ₯Ό νννλ λ°©λ²μ΄λ©°, μ΅λͺ ν΄λμ€λ μ΅λͺ ν¨μλ₯Ό κ°κ²°νκ² ννν μ μμ΄ μ μ©νλ€.
//λ μλ₯Ό μΈμλ‘ λ°μμ λν΄μ£Όλ addλ©μλ
fun add(x: Int, y: Int): Int {
return x + y
}
//μ μ½λλ μ΄λ κ² νν κ°λ₯νλ€.
fun add(x: Int, y: Int) = x + y
μ΄λ κ²λ ννκ°λ₯νλ€. μΈμλͺ©λ‘μ λμ΄νκ³ -> μ΄νμ λ³Έλ¬Έμ΄ μμΉνλ€.
//{μΈμ1: νμ
1, μΈμ2: νμ
2 -> λ³Έλ¬Έ}
var add = { x: Int, y: Int -> x + y }
println(add(2, 5)) //7
SAM λ³ν
μ½νλ¦°μμλ μΆμ λ©μλ νλλ₯Ό μΈμλ‘ μ¬μ©ν λλ ν¨μλ₯Ό μΈμλ‘ μ λ¬νλ©΄ νΈνλ€.
μλ°λ‘ μμ±λ λ©μλκ° νλμΈ μΈν°νμ΄μ€λ₯Ό ꡬνν λλ λμ ν¨μλ₯Ό μμ±ν μ μλλ° μ΄λ₯Ό SAMλ³νμ΄λΌκ³ νλ€.
μλ₯Ό λ€μ΄ μλλ‘μ΄λμμ λ²νΌ ν΄λ¦ μ΄λ²€νΈλ₯Ό ꡬνν λ onClick() μΆμ λ©μλλ§μ κ°μ§λ view.OnClickListener μΈν°νμ΄μ€λ₯Ό ꡬννλ€.
button.setOnClickListener(object : View.OnClickLister) {
override fun onClick(v: View?){
//ν΄λ¦ μ μ²λ¦¬
}
}}
μ¬κΈ°μ View.OnClickLister μΈν°νμ΄μ€μλ onClick() μΆμλ©μλκ° νλ μκΈ° λλ¬Έμ onClick() λ©μλλ₯Ό μ€λ²λΌμ΄λνκ³ μλ€.
button.setOnClickListener({ v: View? ->
//ν΄λ¦ μ μ²λ¦¬
})
ꡬννλ μΈν°νμ΄μ€μ ꡬνν΄μΌ ν λ©μλκ° νλλΏμΌ λ μ΄λ₯Ό λλ€μμΌλ‘ λ³κ²½ν μ μμ΅λλ€.
λ€μ μ½λλ λλ€μμΌλ‘ λ³κ²½λμ΄ μ½λκ° μ€μμ§λ§ κ΄νΈλ μ€μ²©λμ΄ μκ³ κΈ°νΈλ λ§κ³ λκ° μ½λλ 볡μ‘ν΄λ³΄μΈλ€.
button.setOnClickListener() { v: View? ->
//ν΄λ¦ μ μ²λ¦¬
}
λ©μλ νΈμΆ μ 맨 λ€μ μ λ¬λλ μΈμκ° λλ€μμΈ κ²½μ°μλ λλ€μμ κ΄νΈ λ°μΌλ‘ λΊ μ μλ€.
button.setOnClickListener { v: View? ->
//ν΄λ¦ μ μ²λ¦¬
}
λν λλ€κ° μ΄λ€ λ©μλμ μ μΌν μΈμμΈ κ²°μ°μλ λ©μλμ κ΄νΈλ₯Ό μλ΅ν μ μλ€.
button.setOnClickListener() { v ->
//ν΄λ¦ μ μ²λ¦¬
}
μ»΄νμΌλ¬κ° μλ£νμ μΆλ‘ νλ κ²½μ°μλ μλ£νμ μλ΅ν μ μλ€.
button.setOnClickListener() { _ ->
//ν΄λ¦ μ μ²λ¦¬
}
λ§μ½ ν΄λ¦ μ μ²λ¦¬μ vμΈμλ₯Ό μ¬μ©νμ§ μλλ€λ©΄ vλΌλ μ΄λ¦μ _ κΈ°νΈλ‘ λμΉν μ μλ€.
button.setOnClickListener() {
it.visibility = View.GONE
}
λλ€μμμ μΈμκ° νλμΈ κ²½μ°μλ μ΄λ₯Ό μλ΅νκ³ λλ€ λΈλ‘ λ΄μμ μΈμλ₯Ό itλ‘ μ κ·Όν μ μλ€.
'κ°λ° νμμΊ‘μ > Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Kotlin] 리μ€νΈ / 맡 / μ§ν© (0) | 2020.08.29 |
---|---|
[Kotlin] null μ²λ¦¬ (0) | 2020.08.27 |
[Kotlin] μΈν°νμ΄μ€ (0) | 2020.08.27 |
[Kotlin] ν΄λμ€ (0) | 2020.08.27 |
[Kotlin] μ μ΄λ¬Έ(if, when, for, while) (0) | 2020.08.25 |