我是Android编程初学者。我已经查看了类似的问题和答案,但仍然无法弄清楚为什么它不起作用。当我在模拟器上尝试此操作并单击位置时,没有标记出现。这是我的代码:
编辑:现在使用以下代码单击时会出现一个标记。当我第二次单击地图时,它只给我一个运行时异常(NullPointer exception):
public class MapViewFragment extends Fragment {
MapView mMapView;
private GoogleMap googleMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_map_view, container, false);
mMapView = (MapView) rootView.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);
mMapView.onResume();
Context context = getActivity().getApplicationContext();
final LocationsDB locationsDB = new LocationsDB(context);
try {
MapsInitializer.initialize(getActivity().getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap mMap) {
googleMap = mMap;
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
public void onMapClick(LatLng point) {
// Drawing marker on the map
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(point);
markerOptions.title(point.latitude + " : " + point.longitude);
googleMap.clear();
googleMap.animateCamera(CameraUpdateFactory.newLatLng(point));
googleMap.addMarker(markerOptions);
// Create location object
Location location = new Location(point.latitude, point.longitude);
// add location to SQLite database
locationsDB.insert(location);
}
});
}
});
return rootView;
}
}
日志信息:
7-20 07:33:00.076 5359-5359/? W/RcsService: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.rcs.service.service.a.a()' on a null object reference
at com.google.android.rcs.service.e.b(SourceFile:43)
at com.google.android.rcs.service.service.JibeService.onDestroy(SourceFile:162)
at android.app.ActivityThread.handleStopService(ActivityThread.java:3569)
at android.app.ActivityThread.-wrap26(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1703)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6540)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
07-20 07:33:00.079 5359-5359/? E/ActivityThread: Service com.google.android.rcs.service.service.JibeService has leaked IntentReceiver com.google.android.rcs.service.provisioning.RcsReconfigurationSmsReceiver@741339 that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Service com.google.android.rcs.service.service.JibeService has leaked IntentReceiver com.google.android.rcs.service.provisioning.RcsReconfigurationSmsReceiver@741339 that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:1310)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1091)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1397)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1370)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1358)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:603)
at com.google.android.rcs.service.provisioning.RcsSmsReceiver.a(SourceFile:12)
at com.google.android.rcs.service.h.g(SourceFile:230)
at com.google.android.rcs.service.h.<init>(SourceFile:212)
at com.google.android.rcs.service.service.a.<init>(SourceFile:13)
at com.google.android.rcs.service.e.a(SourceFile:32)
at com.google.android.rcs.service.service.JibeService.d(SourceFile:145)
at com.google.android.rcs.service.service.JibeService.onCreate(SourceFile:91)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3404)
at android.app.ActivityThread.-wrap4(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1683)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6540)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)