PROGRAMMING/Android
[JETPACK_Android View] Kotlin Extensions
yuujoeng
2023. 3. 4. 23:38
1 findViewById / Kotlin Extensions
(1) findViewById
// activity_main.xml
<Button
android:id="@+id/btn1"
android:text="btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn2"
android:text="btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn3"
android:text="btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
// build.gradle -> 코틀린 익스텐션 추가!
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-android-extensions'
}
- 기존에 사용했던 findViewById를 간결하게 표현할 수 있음
- 타 엑티비티와의 혼동이 발생할 수 있으므로 구글에서 지양하는 방법 + 성능 이슈
- ViewBinding, DataBinding을 쓰자 !
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
/* findViewById
val btn1 : Button = findViewById(R.id.btn1)
val btn2 : Button = findViewById(R.id.btn2)
val btn3 : Button = findViewById(R.id.btn3)
btn1.text ="ABCD"
btn2.text ="ABCD"
btn2.text ="ABCD"
*/
/* Kotlin Extensions */
btn1.text = "ABCD"
btn2.text = "ABCD"
btn3.text = "ABCD"
}
}