我的 Android 应用程序使用 Google Maps API V2 时遇到问题。
我有一个带有两个片段的 FragmentActivity。一个带有列表的片段和一个带有 GoogleMap 对象的片段。我想要实现的是从列表中操作地图。
在我的 FragmentActivity 中,我像这样启动我的地图片段:
customMapFragment = MapSectionFragment.newInstance();
在我的 FragmentActivity 中,我像这样启动我的 GoogleMap:
mMap = customMapFragment.getMap();
这个参考 - mMap - 是我想要传递给我的列表片段的内容,如下所示:
listSectionFragment = new ListSectionFragment(mMap);
我想要这样做,以便我可以轻松地从 list-fragment 类中操作 map-fragment 上的特定地图。这是我的构造函数:
public ListSectionFragment(GoogleMap mMap) {
this.mMap = mMap;
}
但是,这给了我错误/警告“避免片段中的非默认构造函数:使用默认构造函数加上 Fragment#setArguments(Bundle) 代替”
而且由于 GoogleMap 不可打包,我无法通过捆绑发送它。
如何在没有默认构造函数的情况下解决这个问题?
编辑:我正在压制警告,它似乎工作正常。但正如警告的解释告诉我的那样:每个片段都必须有一个空的构造函数,因此在恢复其活动状态时可以实例化它。
这会在某个时候因随机崩溃而反击我吗?最好的选择仍然是在没有默认构造函数的情况下解决问题。