kotlin은 이전에 특별히 바인딩이라는 것을 하지않아도 자동으로 되었었는데 2020년 초부터 binding을 해야하는 것으로 바뀌었고 강좌들은 이전 것과 이후 것이 혼재되어 헷갈리게 되어 있다.
view binding만 보면...
build.gradle ( module) 파일에
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
}
android {
...
buildFeatures {
viewBinding =true
}
}
를 추가하고 왼쪽 위에 sync now를 눌러 싱크를 맞춘다.
그리고,
<LinearLayout
...
tools:viewBindingIgnore="true" >
...
</LinearLayout>
위의 내용을 activity_main등의 레이아웃 파일에 넣으면 바인딩이 되지않으니 넣지말라!!
==========activity_main.xml====================
<?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">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello world"
android:id="@+id/myBtn"/>
</LinearLayout>
=============== MainActivity.kt============
import android.app.Activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.jstudio.coroutin.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding:ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.myBtn.text = "button works"
}
}
'IT 통신 수학 과학 > 자바 안드로이드' 카테고리의 다른 글
React 설치 방법 (0) | 2022.02.28 |
---|---|
Response Status Code (0) | 2021.11.02 |
[Android/Kotlin] DataBinding(데이터바인딩) (0) | 2021.03.20 |
Android Studio : WebView 구현 오류 문제. (0) | 2021.02.22 |
안드로이드 파일 입출력 및 삭제 (0) | 2020.12.16 |
AdapterView 다중선택 (0) | 2020.11.02 |
AdapterView2 (0) | 2020.11.01 |
ArrayAdapter (0) | 2020.10.28 |