컴포넌트에 바로 접근하기
컴포넌트 접근 할 때 findViewById(R.id.blahblah) 를 사용한다.
그러나 Kotlin 의 extension 을 사용하면, 간결하게 위젯의 id 에 접근할 수 있다.
이전에 build.gradle (app) 에 선언을 했을 것이다.
apply plugin: 'kotlin-android-extensions'
xml layout
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.android.tech.kotlin.MainKotlinActivity">
<TextView
android:id="@+id/tv_kotlin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</android.support.constraint.ConstraintLayout>
TextView 의 id 값이 tv_kotlin 으로 선언 되있는 것을 .kt 파일에서 바로 접근할 수 있게 한다.
import kotlinx.android.synthetic.main.activity_main_kotlin.*
class MainKotlinActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main_kotlin)
//Xml 의 id에 바로 접근
tv_kotlin.text = getMessage(1)
}
fun getMessage(msgType : Int) : String {
return if (msgType == 1) "아 너무 졸립다~" else "전혀 졸립지 않아요~"
}
}
TextView 의 id 값을 import 해서 바로 .text 로 바로 접근이 가능하다.
'안드로이드 > Kotlin (코틀린)' 카테고리의 다른 글
기본문법 (0) | 2017.09.04 |
---|---|
Kotlin -01 코틀린의 시작 (개발환경) (0) | 2017.08.22 |