์ด๋ฒ ์์ ๋ ๋ด๊ฐ ์๊ณ ์๋ ํ๋ฉด ์ ํ ๋ฐฉ๋ฒ๋ค์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
1. intent๋ฅผ ์ด์ฉํ ํ๋ฉด์ด๋
intent๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐ๋ณด๋ค ๊ตฌ๊ธ์ ๋ง์ด ๋์์์ด ์ฝ๊ฒ ์์๋ผ์ ์๋ค.
// ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ intent ์ฌ์ฉ ๋ฐฉ๋ฒ
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
์ด๊ฑด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ intent ์ฌ์ฉ๋ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์์ ์ฝ๋๋ startActivity(this, SecondActivity::class.java)๋ก ๋ฐ๊ฟ ์ธ์ ์๋ค.
1-1. putExtra
putExtra๋ intent๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฉ์๋๋ก, ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
class MainActivity: AppcompatActivity() {
...
val a = 10
val intent = Intent(this, SecondActivity::class.java)
intent.putExtra("a", a) // ๋ฐ์ดํฐ ์ ๋ฌ
startActivity(intent)
}
intent ๋ณ์๋ฅผ ๋ง๋ ํ์ ์ธ์ ์๋ค.
putExtra ์์๋ ๋ณด๋ด์ง id์ ๋ณด๋ผ ๋ณ์๋ค์ ์ ์ผ๋ฉด ๋๋ค.
1-3. intent๋ฅผ ์ฌ์ฉํด ๊ฐค๋ฌ๋ฆฌ ์ฑ์ผ๋ก ์ด๋ํ๊ธฐ
๊ฐค๋ฌ๋ฆฌ๋ก ์ด๋ํ๋ intent ์์ ๋ ์ฌ์ง ์ ๋ก๋๋ฅผ ํ๋ sns์ฑ์ ๋ง๋ค๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ค.
val intent = Intent(Intent.ACTION_PICK)
intent.type = "image/*"
startActivityForResult(photoPickerIntent, PICK_IMAGE_FROM_ALBUM)
1-4. intent๋ฅผ ์ฌ์ฉํ Activity์์ fragment๋ก ์ด๋ํ๊ธฐ
์ด๊ฑด ์ฒซ๋ฒ์งธ ์์ ์ ๋ค๋ฅผ๊ฒ ์์ง๋ง ์ผ๋จ ์์ ์ฝ๋๋ฅผ ๋ฃ์ด๋ณด๊ฒ ๋ค.
val intent = Intent(this, Fragment1::class.java)
startActivity(intent)
๊ทธ๋ฅ ํด๋์ค ๋ฃ๋ ๋ถ๋ถ์ fragment class๋ฅผ ๋ฃ์ผ๋ฉด ๋๋ค.
ํ์ง๋ง ๋ฐ๋๋ก(fragment -> Activity)๋ ๋ถ๊ฐ๋ฅํ๋ค.
2. fragment๋ผ๋ฆฌ์ ํ๋ฉด ์ด๋
fragment๋ผ๋ฆฌ์ ํ๋ฉด ์ ํ์ intent๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ข ๋ณต์กํ๋ค๊ณ ๋๋์๋ ์๋ค.
class fragment1: Fragment() {
...
val fragment1 = Fragment1()
supportFragmentManager()
.beginTransaction()
.add(R.id.framelayout, fragment1)
.commit()
}
fragment๋ผ๋ฆฌ์ ํ๋ฉด ์ด๋์ addํจ์์ ๋ฐ๋ View์ ๋ฐ๊ฟ fragment ๋ณ์๋ฅผ ๋ฃ์ด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ง์ด ์ด๋ ต์ง๋ ์๋ค.
2-1. fragment ์์์์ ํ๋ฉด ์ด๋
fragment ์์ ํ๋ฉด์ ์ด๋ํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค.
// ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ intent ์ฌ์ฉ ๋ฐฉ๋ฒ
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
์ฒซ ๋ฒ์งธ ์์ ๋ก ์๋ฅผ ๋ค์ด๋ณด๊ฒ ๋ค.
์ฒซ ๋ฒ์งธ ์์ ์์ this ๋ถ๋ถ์ context ๋๋ requireContext() ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
// fragment ์์์ ์ฌ์ฉํ๊ธฐ
val intent = Intent((context or requireContext()), SecondFragment::class.java)
๋๋จธ์ง ์์ ๋ค๋ ๋ชจ๋ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด fragment ์์์ ์ธ ์ ์๋ค.
๐ก์ ๋ฆฌ
๋ด๊ฐ ์๊ณ ์๋ ํ๋ฉด ์ด๋ ๋ฐฉ๋ฒ๋ค์ ๋ํด ํฌ์คํ ์ ์จ ๋ณด์๋ค.
๊น๋จน์๊ฑฐ๋ ์๋กญ๊ฒ ์๊ฒ ๋ ๊ฒ๋ค๋ ์ฐจ๋ก์ฐจ๋ก ์์ ํ ๊ณํ์ด๋ค.
๋ณผ๋งํ ๊ฒ๋ค
https://rkdrkd-history.tistory.com/3
[Android Kotlin] firebase fireStore, storage๋ฅผ ์ด์ฉํด recyclerView๋ก ์ฌ์ง ์ถ๋ ฅํ๊ธฐ
์๋๋ก์ด๋ sns์ฑ ๋ง๋ค๋ค๊ฐ ์์๋ธ ๋ฐฉ๋ฒ์ ๊น๋จน์์ด๋ ๋ค์ ๋ณผ ์ ์๊ฒ ์ด ํฌ์คํ ์ ์ด๋ค. ์ค๋์ firebase fireStore, storage๋ฅผ ์ด์ฉํด recyclerView๋ก ์ฌ์ง ์ถ๋ ฅํ๋ ๊ฒ์ ํด ๋ณด๊ฒ ๋ค. ๋จผ์ storage์ ์ฌ์ง์
rkdrkd-history.tistory.com
'๐ฑ| Android > ๐ | ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Android, Kotlin] editText์ toggle icon์ด ๋ฐ๋๋ก ๋์์ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ (2) | 2022.08.31 |
---|---|
[Android/Kotlin] retrofit2 ์ ๋ฆฌ (0) | 2022.05.13 |
[Android Kotlin] radio button ์์ (0) | 2022.04.11 |
[Android] Clean Architecture ๊ธฐ๋ก (0) | 2022.04.01 |
[Android] dagger hilt ๊ธฐ๋ก (0) | 2022.03.29 |