gpt4 book ai didi

android 为什么 TabActivity 与 Activity 在打开对话框时崩溃

转载 作者:行者123 更新时间:2023-11-29 14:56:00 27 4
gpt4 key购买 nike

我看到这个问题有大约 10 个答案,我已经全部阅读了但无法让它发挥作用。

我正在将我的 Activity 移到这个 TabGroup 中,并且我在一个选项卡组中有 3 个 Activity ,并从这里获得了帮助:Multiple Android Activities in a TabActivity

打开自定义对话框时出现此错误:

07-12 10:07:56.985: ERROR/AndroidRuntime(9532): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@462d96f0 is not valid; is your activity running?

我知道这个错误表明 Context 是错误的。
在不起作用的 ColorPickerView(下方)上,我正在调试并且可以看到构造函数正在执行它的工作,但是一旦构造函数完成它就崩溃了。

问题是我有 3 个来自其他两个 Activity 的类似错误,一个 CheckBox 和两个 Spinner。
我可以通过适本地更改 Context 轻松修复它。

这个就比较复杂了,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 时,Context 出现了问题。
有人知道该怎么做吗?

最佳答案

因为一切都在 ActivityGroup 中,所以我不得不这样做

getparent().getParent()

这可能看起来很残酷,但它确实有效,以我的经验水平,我认为这是一次胜利:)

编辑

getparent().getParent() 将是上下文参数,例如:

final ProgressDialog dialog = ProgressDialog.show(this.getParent().getParent(), null, "Proccessing", true, true);

关于android 为什么 TabActivity 与 Activity 在打开对话框时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6663383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com