Android:Attempted to add application window with unknown token
时间:2011-05-12 来源:royen
异常场景:
界面布局最顶层为TabActivity,并且切换到Tab显示Tab页内容的时候,都需要加载存在一定延迟的网络数据。出于用户界面友好的考虑,需要使用ProgressDialog等提示控件。而在使用过程中,则容易产生如标题中的异常。
问题原因:
大致从异常信息中来看, 问题是由于启动ProgressDialog等窗体导致的。而且,是因为添加的应用窗体(也就是ProgressDialog)使用了未知的Token。其实,简单来想,ProgressDialog需要显示在最顶层,所以如果ProgressDialog.show的context参数必须是最顶层窗体。此时,如果你在Tab页中直接使用this作为其Context则会出现如上错误。
解决方法之一:
将context修改成指向最顶层窗体组件,可以通过Activity的getParent方法完成。
相关阅读 更多 +