I have this code
class AddReminderFragment : BaseComposeFragment() {
@Composable
override fun Content() {
// this is null when i add @AndroidEntryPoint to this fragment
val activity = LocalContext.current as? ComponentActivity
}
}
BaseComposeFragment
is just a little helper i'm using and it looks like that:
abstract class BaseComposeFragment : Fragment() {
@Composable
abstract fun Content()
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = ComposeView(requireContext()).apply {
setContent {
MyTheme {
this@BaseComposeFragment.Content()
}
}
}
}
The issue I'm having is that I'm trying to get ComponentActivity
like that val activity = LocalContext.current as? ComponentActivity
and it's working fine until i add @AndroidEntryPoint
to AddReminderFragment
. When i do that the LocalContext.current
have different value: ViewComponentManager$FragmentContextWrapper
which cannot be cast to ComponentActivity
giving me null instead of activity.
Why is that happening and how can i prevent that?