微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 什么属于项目类的BadTokenException

我试图在API 25中运行我的应用程序,但当我点击按钮时出现此错误

E/ACRA: ACRA caught a BadTokenException for com.safa.visit.ts.debug
    android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@2fc535e is not valid; is your activity running?
        at android.view.ViewRootImpl.setView(ViewRootImpl.java:922)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:377)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:105)
        at android.widget.Toast$TN.handleShow(Toast.java:747)
        at android.widget.Toast$TN$2.handleMessage(Toast.java:622)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6823)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
disconnected from the target VM, address: 'localhost:8600', transport: 'socket'

搜索过,我发现这个问题是Toast.因为toast上下文可能是NULL.为此我在显示上下文之前检查了上下文.这是我的方法

    private void toastError(Context ctx,final String msg) {
    if (ctx != null)
    Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show();
}

我的问题是,我不知道这个错误是针对什么页面或类,因为那个地方,我点击了按钮并出现了这个错误,我把我的方法放在那里并且使用了我的方法而不是Toast但我仍然得到了这个错误.

你有什么建议我的?

解决方法:

尝试:

if(!((Activity) context).isFinishing())
{
     Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐