컴포넌트에 바로 접근하기



컴포넌트 접근 할 때 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
Posted by 자바리즘
,