findViewById & ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ
- ์ฌํ๊น์ง findViewById ๋ก xml ํ์ผ์ ์๋ ์์๋ค์ ์ฝํ๋ฆฐ ํ์ผ์ ๊ฐ์ ธ์ ํด๋น ์์๋ฅผ ์ ์ดํด ์์์ง๋ง
- ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ์ด์ฉํ์ฌ xml ํ์ผ์ ์์๋ค์ ๊ฐ์ ธ์จ๋ค๋ฉด ์ฝํ๋ฆฐ ํ์ผ์์ ๋ ์ง๊ด์ ์ด๊ณ ๊ฐ๋ ์ฑ ์ข๊ฒ ์ฝ๋๋ฅผ ์ง๋ฉฐ ์ ์ํ ์ ์๋ค.
- ๋ช๋ช๊ฐ์ ์์๋ค์ ๊ฐ์ ธ์ฌ๋ findViewById๋ก ๊ฐ์ ธ์๋ ์๊ด ์์ด ๋ณด์ด์ง๋ง, ์์๋ค์ด ๋์ด๋ ์๋ก ๊ด๋ฆฌํ๊ธฐ ๊น๋ค๋กญ๊ณ ์ฝ๋์ ๊ฐ๋ ์ฑ๋ ๋ง์ด ๋จ์ด์ง๊ฒ์ด๋ค.
- findViewById๋ฅผ ๋์ฒดํ๋ ๊ธฐ์ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ฌ์ฉ ๋ฐฉ๋ฒ
1. build.gradle(Module: ...) ํ์ผ๋ก ์ด๋ํ๋ค.
2. android{}์ ๋งจ ๋ง์ง๋ง์ dataBinding{enabled = true}๋ฅผ ์ ๊ณ ์๋จ์ Sync Now๋ฅผ ๋๋ฌ์ gradleํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๋ค.
3. activity_main.xml์ ์์ ๋ฒํผ์ ํ๋ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฝ๋ ์ ์ฒด๋ฅผ <layout>์ผ๋ก ๊ฐ์ผ๋ค.
4. MainActivity.kt๋ก ๊ฐ์ MainActivity ํด๋์ค ๋ด๋ถ์ private lateinit var binding: ActivityMainBinding์ ์์ฑํ๋ค. MainActivity์ด๊ธฐ ๋๋ฌธ์ ActivityMainBinding์ ์ด๊ฒ์ด๋ค.
private lateinit var binding: ActivityMainBinding
5. binding๊ณผ activity_main.xml์ <layout>๊ณผ ์ฐ๊ฒฐํด ์ค๊ฒ์ด๋ค.
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)์ ์ ์ด์ค๋ค.
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
6. ์ดํ binding์ ์ด์ฉํ์ฌ activity_main.xml์ ์๋ ์์๋ค์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ ์ผ๋ก ์ํ๋ ์์ ์ ์ฒ๋ฆฌํ ์ ์๋ค.
'์๋๋ก์ด๋๐ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋๋ก์ด๋] ๋ก๊ทธ (0) | 2024.07.18 |
---|---|
[์๋๋ก์ด๋] ์ปค์คํ ํฐํธ ์ ์ฉ ๋ฐฉ๋ฒ (0) | 2024.07.18 |
[์๋๋ก์ด๋] ํ๋ฉด๊ฐ ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐ (0) | 2024.07.12 |
[์๋๋ก์ด๋] ์ฌ์งํ๋ & ํ ๋๋ฆฌ ๋ฅ๊ธ๊ฒ ํ๊ธฐ & ์ฌ๋ฐฑ ๋์ฐ๊ธฐ (0) | 2024.07.12 |
[์๋๋ก์ด๋] ์คํ๋์ ํ๋ฉด ๋ง๋ค๊ธฐ (1) | 2024.07.12 |