Issue
I have this code where I show Dialog Fragment when clicking a viewHolder item in Adapter
SpecialRequestNotFoundBottomSheetDialog {
requestItem?.specialRequestEntity?.id?.let { id -> onCancelReasonsSelected(id, it) }
}.show(itemView.context as AppCompatActivity).supportFragmentManager)
recently I'm migrating to Hilt and I got class cast exception, looks like Hilt wrapping the context and I can't get the parent Activity to get the required FragmentManager to show the Dialog
Solution
I may found a workaround to this crash by checking the Context type and getting the BaseContext. Here's what I'm using now. I don't know if there's a better way to do it with Hilt.
private fun activityContext(): Context? {
val context = itemView.context
return if (context is ViewComponentManager.FragmentContextWrapper) {
context.baseContext
} else context
}
Answered By - Mohamed Ibrahim
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.