0

我正在使用地图片段来显示用户在地图上的当前位置.. 以及顶部栏中的微调器.. 参考下图:

在此处输入图像描述

这里所有的视图都在选项卡活动中。现在,每当我单击微调器展开时,它都会使应用程序崩溃并将错误显示为:

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

请参阅以下代码以使用项目填充微调器:

     ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getParent(),
            android.R.layout.simple_spinner_item, cat);
     dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner_cat.setAdapter(dataAdapter);

请建议..请注意,这些视图在选项卡中

4

2 回答 2

0

在将片段添加到视图(不是 a Mapfragment,只是自定义片段)时,我遇到了同样的问题,我的答案是传入getApplicationContext(),但是在实例化片段后我必须通过单独的方法来完成,因为它需要使用捆绑包。

使用上面传入的上下文对视图进行膨胀时,还需要执行以下操作:

View v = inflater.from(context).inflate(R.layout.layout_name, ViewGroup container, T/F);

而不仅仅是

View v = inflater.inflate(R.layout.layout_name, ViewGroup container, T/F);

希望这可以帮助。

于 2014-09-23T16:19:59.360 回答
0

可能问题出在上下文尝试传递 getActivity() 而不是 getParent()

在您的适配器构造函数中

于 2013-06-27T18:47:06.893 回答