Mapfragment + Spinner使应用程序崩溃

时间:2013-06-27 18:43:17

标签: android google-maps android-fragments android-spinner android-maps-v2

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

enter image description here

此处所有视图都在标签活动中。现在每当我点击微调器进行扩展时,它都会崩溃应用并将错误显示为:

       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);

请建议..请注意,这些视图位于标签

2 个答案:

答案 0 :(得分:0)

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

适配器构造函数中的

答案 1 :(得分:0)

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

使用上面传递的上下文扩充视图时,还需要以下内容:

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);

希望这有帮助。