需要有关TabActivity的帮助

时间:2011-02-08 06:03:04

标签: android tabactivity activitygroup

我实现了一个完全像这样的TabActivity -

http://blog.henriklarsentoft.com/2010/07/android-tabactivity-nested-activities/

现在的问题是,我在一项活动中有一些Spinner。当我单击以展开微调器时 - 发生以下异常 -

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@43b957c0 is not valid; is your activity running?

有人有解决方案吗?

2 个答案:

答案 0 :(得分:4)

错误可能是由于适配器的上下文,请尝试将getParent()作为适配器的上下文而不是此。

this链接可以帮助您。

答案 1 :(得分:4)

问题在于使用“正常”布局膨胀,用于膨胀的上下文是“this”,它是嵌套的Activity。不幸的是,嵌套在选项卡(ActivityGroup)中的Activity不能用于显示对话框(我不确定为什么会这样,但它会产生BadTokenException)。我发现最可口的解决方案是不使用setContentView(int id),而是使用getParent()作为Context进行显式膨胀。像这样:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View contentView = LayoutInflater.from(getParent()).inflate(R.layout.my_layout, null);
    setContentView(contentView);
}