huburt-Hu / NewbieGuide

Android 快速实现新手引导层的库,通过简洁链式调用,一行代码实现引导层的显示
Apache License 2.0
3.55k stars 519 forks source link

the view is not showing in the window #151

Open lyx0224 opened 4 years ago

lyx0224 commented 4 years ago

ViewUtils.class tmp = (View) tmp.getParent(); tmp is null

cooliceman commented 4 years ago

Same Problem here. Fatal Exception: java.lang.IllegalArgumentException: the view is not showing in the window! at com.app.hubert.guide.util.ViewUtils.getLocationInView + 47(ViewUtils.java:47) at com.app.hubert.guide.model.HighlightView.fetchLocation + 77(HighlightView.java:77) at com.app.hubert.guide.model.HighlightView.getRectF + 67(HighlightView.java:67) at com.app.hubert.guide.core.GuideLayout.drawHighlights + 152(GuideLayout.java:152) at com.app.hubert.guide.core.GuideLayout.onDraw + 145(GuideLayout.java:145)

gyqsophila commented 4 years ago

meet the problem in same position, when i call addHight in DialogFragment, there is a expection:

java.lang.ClassCastException: android.view.ViewRootImpl cannot be cast to android.view.View

at com.app.hubert.guide.util.ViewUtils.getLocationInView(ViewUtils.java:41) at com.app.hubert.guide.model.HighlightView.getRectF(HighlightView.java:68) at com.app.hubert.guide.core.GuideLayout.drawHighlights(GuideLayout.java:152) at com.app.hubert.guide.core.GuideLayout.onDraw(GuideLayout.java:145) at android.view.View.draw(View.java:19145) at android.view.View.buildDrawingCacheImpl(View.java:18393) at android.view.View.buildDrawingCache(View.java:18253) at android.view.View.draw(View.java:18865) at android.view.ViewGroup.drawChild(ViewGroup.java:4218) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4002) at android.view.View.updateDisplayListIfDirty(View.java:18086) at android.view.View.draw(View.java:18873) at android.view.ViewGroup.drawChild(ViewGroup.java:4218) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4002) at android.view.View.updateDisplayListIfDirty(View.java:18086) at android.view.View.draw(View.java:18873) at android.view.ViewGroup.drawChild(ViewGroup.java:4218) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4002) at android.view.View.updateDisplayListIfDirty(View.java:18086) at android.view.View.draw(View.java:18873) at android.view.ViewGroup.drawChild(ViewGroup.java:4218) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4002) at android.view.View.updateDisplayListIfDirty(View.java:18086) at android.view.View.draw(View.java:18873) at android.view.ViewGroup.drawChild(ViewGroup.java:4218) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4002) at android.view.View.draw(View.java:19148) at com.android.internal.policy.DecorView.draw(DecorView.java:788) at android.view.View.updateDisplayListIfDirty(View.java:18095) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:643) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:649) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:757) at android.view.ViewRootImpl.draw(ViewRootImpl.java:3035) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2830) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2383) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1422) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6834) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) at android.view.Choreographer.doCallbacks(Choreographer.java:841) at android.view.Choreographer.doFrame(Choreographer.java:772) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1015) at android.os.Handler.handleCallback(Handler.java:793) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:173) at android.app.ActivityThread.main(ActivityThread.java:6698) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

yanchengdeng commented 4 years ago

java.lang.IllegalArgumentException: the view is not showing in the window! at com.app.hubert.guide.util.ViewUtils.getLocationInView(ViewUtils.java:47) at com.app.hubert.guide.model.HighlightView.fetchLocation(HighlightView.java:77) at com.app.hubert.guide.model.HighlightView.getRectF(HighlightView.java:67) at com.app.hubert.guide.model.RelativeGuide.getMarginInfo(RelativeGuide.java:90) at com.app.hubert.guide.model.RelativeGuide.getGuideLayout(RelativeGuide.java:76) at com.app.hubert.guide.core.GuideLayout.addCustomToLayout(GuideLayout.java:227) at com.app.hubert.guide.core.GuideLayout.onAttachedToWindow(GuideLayout.java:185) at android.view.View.dispatchAttachedToWindow(View.java:20014) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3589) at android.view.ViewGroup.addViewInner(ViewGroup.java:5302) at android.view.ViewGroup.addView(ViewGroup.java:5090) at android.view.ViewGroup.addView(ViewGroup.java:5062) at com.app.hubert.guide.core.Controller.showGuidePage(Controller.java:175) at com.app.hubert.guide.core.Controller.showNextOrRemove(Controller.java:187) at com.app.hubert.guide.core.Controller.access$700(Controller.java:39) at com.app.hubert.guide.core.Controller$3.onGuideLayoutDismiss(Controller.java:172) at com.app.hubert.guide.core.GuideLayout.dismiss(GuideLayout.java:255) at com.app.hubert.guide.core.GuideLayout.remove(GuideLayout.java:247) at com.app.hubert.guide.core.GuideLayout$1.onClick(GuideLayout.java:89) at android.view.View.performClick(View.java:7352) at com.app.hubert.guide.core.GuideLayout.performClick(GuideLayout.java:97) at com.app.hubert.guide.core.GuideLayout.onTouchEvent(GuideLayout.java:123) at android.view.View.dispatchTouchEvent(View.java:13484) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3216) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2888) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3222) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2904) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3222) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2904) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3222) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2904) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3222) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2904) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3222) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2904) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:697) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1879) at android.app.Activity.dispatchTouchEvent(Activity.java:3487) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:655) at android.view.View.dispatchPointerEvent(View.java:13732) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6119) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5897) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5346) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5399) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5365) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5524) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5373) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5581) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5346) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5399) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5365)

WeiLoveWangDan commented 4 years ago

Fatal Exception: java.lang.IllegalArgumentException: the view is not showing in the window! at com.app.hubert.guide.util.ViewUtils.getLocationInView(SourceFile:14) at com.app.hubert.guide.model.HighlightView.getRectF(SourceFile:4) at com.app.hubert.guide.core.GuideLayout.a(SourceFile:7) at com.app.hubert.guide.core.GuideLayout.onDraw(SourceFile:4) at android.view.View.draw(View.java:21879) at android.view.View.buildDrawingCacheImpl(View.java:21148) at android.view.View.buildDrawingCache(View.java:21008) at android.view.View.draw(View.java:21597) at android.view.ViewGroup.drawChild(ViewGroup.java:4558) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4333) at android.view.View.updateDisplayListIfDirty(View.java:20738) at android.view.View.draw(View.java:21605) at android.view.ViewGroup.drawChild(ViewGroup.java:4558) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4333) at android.view.View.updateDisplayListIfDirty(View.java:20738) at android.view.View.draw(View.java:21605) at android.view.ViewGroup.drawChild(ViewGroup.java:4558) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4333) at android.view.View.updateDisplayListIfDirty(View.java:20738) at android.view.View.draw(View.java:21605) at android.view.ViewGroup.drawChild(ViewGroup.java:4558) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4333) at android.view.View.updateDisplayListIfDirty(View.java:20738) at android.view.View.draw(View.java:21605) at android.view.ViewGroup.drawChild(ViewGroup.java:4558) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4333) at android.view.View.draw(View.java:21882) at com.android.internal.policy.DecorView.draw(DecorView.java:1138) at android.view.View.updateDisplayListIfDirty(View.java:20752) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:725) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:731) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:840) at android.view.ViewRootImpl.draw(ViewRootImpl.java:4035) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3799) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3095) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1958) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8636) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:988) at android.view.Choreographer.doCallbacks(Choreographer.java:765) at android.view.Choreographer.doFrame(Choreographer.java:700) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:967) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7156) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)

flyxiaonir commented 3 years ago

me too , do you fixed it gays ? java.lang.IllegalArgumentException: the view is not showing in the window! at e.b.a.a.g.c.a(ViewUtils.java:14) at com.app.hubert.guide.model.d.a(HighlightView.java:4) at e.b.a.a.d.c.d(GuideLayout.java:3) at e.b.a.a.d.c.onDraw(GuideLayout.java:4) at android.view.View.draw(View.java:20444) at android.view.View.buildDrawingCacheImpl(View.java:19660) at android.view.View.buildDrawingCache(View.java:19520) at android.view.View.draw(View.java:20130) at android.view.ViewGroup.drawChild(ViewGroup.java:4380) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4153) at android.view.View.draw(View.java:20278) at android.view.ViewGroup.drawChild(ViewGroup.java:4380) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4153)

zkw-wrong commented 1 year ago

Same Problem here. Fatal Exception: java.lang.IllegalArgumentException: the view is not showing in the window! at com.app.hubert.guide.util.ViewUtils.getLocationInView + 47(ViewUtils.java:47) at com.app.hubert.guide.model.HighlightView.fetchLocation + 77(HighlightView.java:77) at com.app.hubert.guide.model.HighlightView.getRectF + 67(HighlightView.java:67) at com.app.hubert.guide.core.GuideLayout.drawHighlights + 152(GuideLayout.java:152) at com.app.hubert.guide.core.GuideLayout.onDraw + 145(GuideLayout.java:145)

ViewUtils.class tmp = (View) tmp.getParent(); tmp is null

这个问题解决了吗

zkw-wrong commented 1 year ago

Same Problem here. Fatal Exception: java.lang.IllegalArgumentException: the view is not showing in the window! at com.app.hubert.guide.util.ViewUtils.getLocationInView + 47(ViewUtils.java:47) at com.app.hubert.guide.model.HighlightView.fetchLocation + 77(HighlightView.java:77) at com.app.hubert.guide.model.HighlightView.getRectF + 67(HighlightView.java:67) at com.app.hubert.guide.core.GuideLayout.drawHighlights + 152(GuideLayout.java:152) at com.app.hubert.guide.core.GuideLayout.onDraw + 145(GuideLayout.java:145)

这个问题解决了吗