我看到这个问题有10个答案,我已经全部阅读了 但不能让这个工作。
我将我的活动移动到此TabGroup
中,我在一个标签组中有3个活动,并从此处获得帮助:Multiple Android Activities in a TabActivity
打开自定义对话框时出现此错误:
07-12 10:07:56.985:ERROR / AndroidRuntime(9532):android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌android.app.LocalActivityManager $ LocalActivityRecord@462d96f0无效;你的活动在运行吗?
我知道这个错误说上下文很糟糕
在ColorPickerView
(下面)不起作用的情况下,我正在调试并且可以看到构造函数正在执行它的工作,但是一旦构造函数完成它就崩溃了。
问题是我从其他两个活动中得到了3个类似的错误,一个是CheckBox,另外两个是Spinner 我可以通过适当地更改上下文来轻松修复它。
这个更复杂,View堆栈看起来像这样:
TabGroup
.......TabHost (public class FileEditMainActivity extends Activity)
...............ImageView (public class FileEditImageView extends ImageView )
........................Dialog (public class ColorPickDialog extends Dialog )
..............................View (private class ColorPickerView extends View )
无论我如何改变上下文,系统都会告诉我上下文不存在
ColorPickerView
总是崩溃..
如果我不使用TabGroup
,也必须说这是有效的。
当我将FileEditMainActivit
放入TabGroup时,上下文出了问题
任何人都有想做什么?
答案 0 :(得分:6)
因为所有内容都在ActivityGroup中,所以我喜欢
的getParent()。的getParent()
这可能看起来很残酷,但它有效,而且我的经验水平我认为这是一场胜利:)
修改强>
行getparent().getParent()
将是上下文参数,例如:
final ProgressDialog dialog = ProgressDialog.show(this.getParent().getParent(), null, "Prcocessing", true, true);