getActivity / Toaster

Android 吐司框架,专治 Toast 各种疑难杂症
Apache License 2.0
3.25k stars 406 forks source link

java.lang.IllegalStateException: View android.widget.TextView has already been added to the window manager #58

Closed jiaowenzheng closed 3 years ago

jiaowenzheng commented 3 years ago

手机型:华为荣耀 9 STF-AL00 EMUI 版本:9.1.0
Android系统版本:9

ToastUtils库版本 : 最新版本

操作步骤: DialogFragment 小弹窗 和 toast 频繁切换显示 ,就会出现这种崩溃的情况。

异常信息:

    java.lang.IllegalStateException: View android.widget.TextView{7ffea98 V.ED..... ......ID 0,0-396,153 #102000b android:id/message} 
    has already been added to the window manager.
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:371)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:131)
        at android.widget.Toast$TN.handleShow(Toast.java:501)
        at android.widget.Toast$TN$1.handleMessage(Toast.java:403)
        at android.os.Handler.dispatchMessage(Handler.java:112)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7625)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
getActivity commented 3 years ago

麻烦小伙子贴一下调用的代码(包含 DialogFragment 及 Toast)

jiaowenzheng commented 3 years ago

不好意思,是我的代码里又自定义了一个CustomToast,并为其设置了一个自定义的View ,测试的时候触发了这个CustomToast。这时ToastUtil 和CustomToast 更新了Toast 中 mNextView 候就会造成这种问题。

getActivity commented 3 years ago

ok,那我就关闭这个问题了

bunny-pu commented 3 years ago

不好意思,是我的代码里又自定义了一个CustomToast,并为其设置了一个自定义的View ,测试的时候触发了这个CustomToast。这时ToastUtil 和CustomToast 更新了Toast 中 mNextView 候就会造成这种问题。

请问这个问题怎么解决的 我也体验到这样的问题了,堆栈信息和你的一样

jiaowenzheng commented 3 years ago

@bunny-pu 先检查一下,你代码里除了ToastUtil 外,还有没有别的自定义的Toast ,是否为Toast设置了setView.