5

我的应用程序在她的主屏幕地图 (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,也没有答案。

4

4 回答 4

5

请尝试使用下面给出的代码:

@Override
public void onResume() {
    super.onResume();
    mapFragment.onResume();
}
于 2018-12-12T06:34:45.827 回答
3

我在文件 manifest.xml 中禁用了硬件加速,并且我的应用程序在第二次加载时不再显示黑色地图。我在模拟器中尝试。

<application android:hardwareAccelerated="false">
 ...
</application

来自这篇文章:http: //developer.android.com/guide/topics/graphics/hardware-accel.html

于 2013-09-25T04:47:57.560 回答
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();
}

应用程序没有崩溃,但地图是黑色的,仍然有缩放光标和用于获取设备当前位置的图标;

也许很重要,我正在使用模拟器。

于 2013-08-29T14:18:40.143 回答
0

我的理由真的很愚蠢。
background从我的xml.

android:background="@android:color/black"

PS。我FrameLayout用于. xml_SupportMapFragment

于 2020-05-02T16:57:29.680 回答