我的应用程序在她的主屏幕地图(v2)上有按钮。点击后,这些按钮运行另一个应用程序,这个(主要活动)在堆栈中。之后,另一个活动被称为finish()
,主要活动又回到了前面。但在此之后,地图片段黑色并且它无效。
这是我的片段XML:
<fragment
android:id="@+id/mapFragment"
android:layout_width="100px"
android:layout_height="100px"
class="com.google.android.gms.maps.MapFragment" />
我唯一要做的就是setContentView(R.layout.new_main);
而已。
这个问题几乎与我的问题相同:Android MapView v2 Black screen,也没有答案。
答案 0 :(得分:4)
我在文件manifest.xml上禁用硬件加速,我的应用程序在第二次加载时不再显示黑色地图。我在模拟器中尝试。
<application android:hardwareAccelerated="false">
...
</application
来自这篇文章:http://developer.android.com/guide/topics/graphics/hardware-accel.html
答案 1 :(得分:1)
请尝试使用下面给出的代码:
@Override
public void onResume() {
super.onResume();
mapFragment.onResume();
}
答案 2 :(得分:0)
我认为自一周以来我遇到了完全相同的问题。 当mapfragment被销毁时,它会调用onDestroyView()
@Override
public void onDestroyView() {
super.onDestroyView();
SupportMapFragment fragment = ((SupportMapFragment) getFragmentManager()
.findFragmentById(R.id.map));
if (fragment != null)
getFragmentManager().beginTransaction().remove(fragment).commit();
}
当mapFragment再次出现时,就是这段代码:
private void showFragment(final Fragment fragment) {
if (fragment == null)
return;
final FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction ft = fm.beginTransaction();
// We can also animate the changing of fragment
ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
ft.replace(R.id.address_displayer, fragment);
ft.addToBackStack(null);
ft.commit();
}
应用程序不会崩溃但是地图是黑色的,仍然有缩放光标和用于获取设备当前位置的图标;
也许很重要,我正在使用模拟器。
答案 3 :(得分:0)
我的确是愚蠢的原因。
我从background
中删除了xml
属性。
android:background="@android:color/black"
PS。我在FrameLayout
中使用xml
中的SupportMapFragment
。