1

我有片段:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment_map_google_drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/fragments_map_google"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="ru.my_app.TransparentSupportMapFragment" />
</android.support.v4.widget.DrawerLayout>

和类:

public class TransparentSupportMapFragment extends SupportMapFragment {

public TransparentSupportMapFragment() {
    // SupportMapFragment sp;
    super();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup view, Bundle savedInstance) {

    View layout = super.onCreateView(inflater, view, savedInstance);
    FrameLayout frameLayout = new FrameLayout(getActivity());
    frameLayout.setBackgroundColor(getResources().getColor(android.R.color.transparent));
    ((ViewGroup) layout).addView(frameLayout, new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    return layout;
}

}

在我的尝试中,我SherlockFragmentActivity正在尝试获取地图片段:

map = ((TransparentSupportMapFragment) getSupportFragmentManager()
                .findFragmentById((R.id.fragments_map_google))).getMap();

此代码在 2.3、带有 4.0 的 HTS One S 和其他设备上运行良好。但是在带有 4.1.4 的三星 Galaxy S III 或带有 4.1.2 的 Sonu Xperia Z 上map是无效的。

你能告诉我为什么吗?=/

4

1 回答 1

1

这是因为我在设备上安装了旧版本的 Google Play 服务。刚刚更新它,现在地图工作正常。

于 2013-11-15T07:39:49.103 回答