android为什么TabActivity与Activity在打开Dialog时崩溃

Eri*_*rik 1 android android-context

我看到这个问题有10个答案,我已经阅读了所有这些但是无法让这个工作.

我正在将我的活动转移到这里TabGroup,我在一个标签组中有3个活动,并从这里得到帮助: TabActivity中的多个Android活动

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

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  )
Run Code Online (Sandbox Code Playgroud)

无论我如何改变上下文,系统都会告诉我上下文不存在.
该ColorPickerView总是崩溃..

如果我不使用,也必须说这是有效的TabGroup.当我把FileEditMainActivitTabGroup中的内容出错时.
任何人都有想做什么?

Eri*_*rik 6

因为一切都在ActivityGroup里面,所以我喜欢这样做

的getParent().的getParent()

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

编辑

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

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