ECLaboratorio / BubbleShowCase-Android

BubbleShowCase is a framework that let you to use informative bubbles to help your users pointing out different App features.
MIT License
599 stars 89 forks source link

Firebase crash ClassCastException at BubbleShowCase.getBackgroundDimLayout: #67

Open rtilekar opened 8 months ago

rtilekar commented 8 months ago

Throws Error at line #2

 if (mActivity.get()!!.findViewById<RelativeLayout>(FOREGROUND_LAYOUT_ID) != null)
            return mActivity.get()!!.findViewById(FOREGROUND_LAYOUT_ID)

2 types of error:

  1. java.lang.ClassCastException - android.widget.ImageView cannot be cast to android.widget.RelativeLayout My investigation say s: The error you're encountering is due to a class cast exception in the getBackgroundDimLayout function. The code is trying to cast an ImageView to a RelativeLayout, which is causing the issue.

Looking at your code, it seems that you are creating an ImageView (targetScreenshotView) in the addTargetViewAtBackgroundDimLayout function, and later, in the getBackgroundDimLayout function, you are expecting to find a RelativeLayout with the ID FOREGROUND_LAYOUT_ID. However, since targetScreenshotView is an ImageView, the cast fails.

To fix this issue, you should create a RelativeLayout instance for FOREGROUND_LAYOUT_ID in the getBackgroundDimLayout function, rather than relying on targetScreenshotView.

And similar may apply for next error

  1. Fatal Exception: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.RelativeLayout

In my investigation, I see sometimes it does not show the bubble case tooltip that we use in our app. I am trying to find the: 1) If anyone has faced this issue? what solution has worked. 2) Are there any alternatives to this library?