Java 获取随机getmapASync空指针异常
我正在印度尼西亚的爪哇岛上做一个简单的地图视图。根据logcat,我目前在执行映射片段时遇到问题,特别是在返回空指针引用的getMapASync中 这是我的密码:Java 获取随机getmapASync空指针异常,java,android,google-maps-api-3,nullpointerexception,Java,Android,Google Maps Api 3,Nullpointerexception,我正在印度尼西亚的爪哇岛上做一个简单的地图视图。根据logcat,我目前在执行映射片段时遇到问题,特别是在返回空指针引用的getMapASync中 这是我的密码: private GoogleMap java__island_map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layou
private GoogleMap java__island_map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
SupportMapFragment javamapFragment = (SupportMapFragment) this.getSupportFragmentManager().
findFragmentById(R.id.java_island_map);
javamapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
java__island_map = googleMap;
LatLng JavaIsland = new LatLng(-7.50166466, 111.257832302);
java__island_map.addMarker(new MarkerOptions().position(JavaIsland).title("Java Island"));
java__island_map.moveCamera(CameraUpdateFactory.newLatLng(JavaIsland));
}
由于这不是子片段的一种形式,我尝试使用getChildSupportFragment但没有效果。接下来,我尝试将片段固定为常规的MapFragment,但不起作用。以下是我的XML代码:
<fragment
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/java_island_map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_gravity="center">
</fragment>
<ScrollView .... etc
尝试将对getMapAsync()的调用移动到onActivityCreated()在调用getMapAsync()之前,您可以处理null
。像下面
supportMapFragment = (SupportMapFragment) getSupportFragmentManager.findFragmentById(R.id.java_island_map);
if (supportMapFragment == null) {
FragmentManager fr = getFragmentManager();
FragmentTransaction ft = fr.beginTransaction();
supportMapFragment = SupportMapFragment.newInstance();
ft.replace(R.id.java_island_map, supportMapFragment).commit();
}
supportMapFragment.getMapAsync(this);
希望对你有帮助