我对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" />
要增加清晰度,请执行以下操作:打开应用程序,单击菜单中的地图-地图正确显示->移至另一个菜单项->再次单击地图菜单-白屏而不是地图->旋转手机-神奇地出现了地图。
干杯
用这个
<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();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句