๋ทฐ๋ฐ์ธ๋ฉ (viewbinding)
์ด์ ์ ์ฐ๋ findViewById()๋ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ ์ฝ๋๊ฐ ๊ธธ์ด์ ธ
์๋์ ๋ฐฉ๋ฒ์ผ๋ก ๋์ฒด๋์๋ค.
์ค์
build.gradle(Module:ํ๋ก์ ํธ๋ช )์์ android ์์ ๋ค์์ ์ถ๊ฐํ๋ค.
android {
...
viewBinding {
enabled = true
}
}
๋ ์ด์์ ํ์ผ ์ด๋ฆ์ด activity_main.xml์ ๊ฒฝ์ฐ
์์ฑ๋ ๊ฒฐํฉ ํด๋์ค ์ด๋ฆ์ ActivityMainBinding์ด ๋๋ค.
1. ActivityMainBinding ํ์ ์ binding์ ์ ์ธํ๋ค.
2. binding์ ํฌํจ๋ inflate()๋ฅผ ํธ์ถํ๋ค.
3. root ๋ทฐ๋ฅผ setContentView()์ ์ ๋ฌํ๋ค.
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
}
์ฌ์ฉ
์๋ฅผ ๋ค์ด ๋ทฐ์ id๊ฐ name์ด๋ผ๋ฉด
binding.name์ ํํ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.
binding.name.text = "good"
binding.name.setOnClickListener{ }
์๋ ๊ณต์๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์๋ค.
https://developer.android.com/topic/libraries/view-binding?hl=ko
๋ทฐ ๊ฒฐํฉ | Android ๊ฐ๋ฐ์ | Android Developers
๋ทฐ ๊ฒฐํฉ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋ทฐ์ ์ํธ์์ฉํ๋ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ๋ชจ๋์์ ์ฌ์ฉ ์ค์ ๋ ๋ทฐ ๊ฒฐํฉ์ ๋ชจ๋์ ์๋ ๊ฐ XML ๋ ์ด์์ ํ์ผ์ ๊ฒฐํฉ ํด๋์ค๋ฅผ ์์ฑํฉ๋๋ค. ๋ฐ์ธ๋ฉ ํด๋์ค์
developer.android.com
'๐ป๊ฐ๋ฐ > Android' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Fragment ์ฌ์ฉํ๊ธฐ (0) | 2021.05.27 |
---|---|
Intent (0) | 2021.05.27 |
activity ์๋ช ์ฃผ๊ธฐ (0) | 2021.05.26 |
[XML] ์ฝ๋๋ก ์ด๋ฏธ์ง ํ์ผ ๋ง๋ค๊ธฐ (0) | 2021.05.26 |
[XML] Scrollview, Imageview (0) | 2021.05.26 |