android.view.ViewRoot$W@47e0add0 is not valid; is your activity running?错误分析

 出错信息:
 
android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@47e0add0 is not valid; is your activity running?at android.view.ViewRoot.setView(ViewRoot.java:505)at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)at android.view.Window$LocalWindowManager.addView(Window.java:424)at android.widget.PopupWindow.invokePopup(PopupWindow.java:828)at android.widget.PopupWindow.showAtLocation(PopupWindow.java:688)at android.widget.CursorHandle.showCursorHandle(CursorHandle.java:295)at android.widget.CursorHandle$CheckCursorHandle$1.run(CursorHandle.java:691)at android.os.Handler.handleCallback(Handler.java:587)at android.os.Handler.dispatchMessage(Handler.java:92)at android.os.Looper.loop(Looper.java:123)at android.app.ActivityThread.main(ActivityThread.java:4627)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:521)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)at dalvik.system.NativeStart.main(Native Method)

 

设备分布:

操作系统分布:

 

 

 

原因分析:

因为new对话框的时候,参数content 指定成了this,即指向当前子Activity的content。但子Activity是动态创建的,不能保证一直存在。其父Activity的content是稳定存在的,所以有下面的解决办法。

将子Activity中的

  setContentView(R.layout.m_result);

改为:  View contentView = LayoutInflater.from(getParent()).inflate(R.layout.m_result, null);   setContentView(contentView);

 

其中:R.layout.m_result为布局文件

 

 

参考:http://blog.csdn.net/biangren/article/details/7514722

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值