我试图在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.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();}
总结 以上是内存溢出为你收集整理的android – 什么属于项目类的BadTokenException全部内容,希望文章能够帮你解决android – 什么属于项目类的BadTokenException所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)