
뷰 결합 | Android 개발자 | Android Developers

공식 문서에 오류가 있음. enabled가 아니라 enable을 써야 함.
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.w01thefirst"
compileSdk = 33
defaultConfig {
applicationId = "com.example.w01thefirst"
minSdk = 24
targetSdk = 33
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
**viewBinding {
enable = true
}**
}
dependencies {
implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.8.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="50sp"
android:layout_gravity="center"
/>
<Button
android:id="@+id/btnAdd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="눌러 주세요"
/>
</LinearLayout>
<aside> 🍰 레이아웃 파일 이름은 activity_main.xml로 snake case를 사용한다. 클래스 이름은 파일 이름을 Pascal case로 바꾸고 뒤에 Binding을 붙인 ActivityMainBinding 이다.
</aside>
package com.example.w01thefirst
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.w01thefirst.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var main: ActivityMainBinding
private var count = 0;
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//setContentView(R.layout.activity_main)
main = ActivityMainBinding.inflate(layoutInflater)
setContentView(main.root)
main.btnAdd.setOnClickListener {
main.txtCount.text = "${++count}"
}
}
}
