[TIL] ๐ผ24/04/26๐ผ#Hilt์์ Fragment์ context ๊ฐ์ ธ์ค๊ธฐ
Hilt์์ Fragment์ context ๊ฐ์ ธ์ค๊ธฐ
๐์ฐธ๊ณ ์๋ฃ
- Hilt๋ฅผ ์ ์ฉํ๊ธฐ ์ Fragment์์ Context๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋
(Dialog๋ฅผ ๋์ฐ๊ธฐ ์ํด AppCompatActivity ํ์
์ context๋ฅผ ๋๊ฒจ์ค)
val addDialog = AddFolderDialog(binding.root.context as AppCompatActivity)
- Hilt์์๋ Fragment์์ Context๋ฅผ ๊ฐ์ ธ์ฌ ๋
ViewComponentMAnager
๊ฐ ๊ด๋ฆฌํ๋ FragmentContextWrapper
๋ฅผ ์ฌ์ฉํ๋ค
-> AppCompatActivity ํ์
์ผ๋ก cast ๋ถ๊ฐ
-> Fragment์ Activity์ Context๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด context.getBaseContext()
๋ฅผ ์ฌ์ฉํด์ผ
private fun getActivityContext(): Context {
val context = binding.root.context
return if (context is ViewComponentManager.FragmentContextWrapper) context.baseContext
else context
}
val addDialog = AddFolderDialog(getActivityContext() as AppCompatActivity)