我遇到MapFragment的问题。问题是地图第一次打开片段,但是当我离开它(我有侧边栏菜单)并回来时 - 屏幕只是白色。但是如果我旋转我的手机,地图会显示出来。 从调试中我可以看到,当我进入第一次或旋转时会发生这种情况,但是当我回到片段时它不会发生。
02-13 08:27:37.263: I/dalvikvm-heap(4553): Grow heap (frag case) to 23.106MB for 4194320-byte allocation
02-13 08:27:37.283: D/dalvikvm(4553): GC_FOR_ALLOC freed <1K, 18% free 23629K/28748K, paused 12ms, total 12ms
02-13 08:27:37.323: D/dalvikvm(4553): GC_FOR_ALLOC freed 4356K, 21% free 19534K/24648K, paused 13ms, total 13ms
以下是片段onCreateView:
的java代码public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (rootView != null) {
Log.d("map","rootView != null");
ViewGroup parent = (ViewGroup) rootView.getParent();
if (parent != null)
Log.d("map","parent != null");
parent.removeView(rootView);
}
try {
Log.d("map","inside try");
rootView = inflater
.inflate(R.layout.fragment_map, container, false);
setupGmap();
} catch (InflateException e) {
Log.d("map","inside catch");
}
return rootView;
}
在XML中:
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
android:name="pl.szymonmaslanka.qrapp.MapFragment" />
为了更清楚地说明会发生什么: 打开应用,点击菜单中的地图 - 地图正确显示 - &gt;移动到另一个菜单项 - &gt;再次点击地图菜单 - 白色屏幕而不是地图 - &gt;旋转手机 - 地图神奇地出现。
干杯
答案 0 :(得分:0)
使用此
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
/>
并覆盖方法OnDestroyView并将此代码放在OnDestroyView()
上public void onDestroyView()
{
super.onDestroyView();
Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.remove(fragment);
ft.commit();
}