εξαίρεση Διάρκεια: Δεν είναι δυνατή η υπόσταση δραστηριότητα ComponentInfo

ψήφοι
0

Προσπάθησα να πάρω μια διεύθυνση από ένα μυτερό τοποθεσία στο Google Maps και να πάρει αυτό το σφάλμα:

Blockquote ανεπανόρθωτη εξαίρεση: κύρια διαδικασία: elder.msu.testlocationapp, PID: 23559 java.lang.RuntimeException: Δεν είναι δυνατή η υπόσταση δραστηριότητα ComponentInfo {elder.msu.testlocationapp / elder.msu.testlocationapp.MapsActivity}: java.lang.NullPointerException: Απόπειρα να διαβάζεται από το πεδίο «διπλή com.google.android.gms.maps.model.LatLng.latitude» σε μια null αναφορά αντικειμένου σε android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2366) στους android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2515) σε android.app.ActivityThread.access $ 1000 (ActivityThread.java:154) σε android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1379) σε android.os.Handler.dispatchMessage (Handler .java: 102) σε android.os.Looper.loop (Looper.java:157) στους android.app.ActivityThread.main (ActivityThread.java:5571) στους java.lang.reflect.Method.invoke (Native Μέθοδος) σε com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:745) σε com.android.internal.os.ZygoteInit.main (Zygot eInit.java:635) που προκαλούνται από: java.lang.NullPointerException: Προσπάθεια για να διαβάσετε από το πεδίο «διπλό com.google.android.gms.maps.model.LatLng.latitude» σε μηδενική αναφορά αντικειμένου σε elder.msu.testlocationapp. MapsActivity. (MapsActivity.java:32) σε java.lang.Class.newInstance (Native Μέθοδος) σε android.app.Instrumentation.newActivity (Instrumentation.java:1068) στους android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2356 ) σε android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2515) σε android.app.ActivityThread.access $ 1000 (ActivityThread.java:154) σε android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1379) σε android.os.Handler.dispatchMessage (Handler.java:102) στους android.os.Looper.loop (Looper.java:157) στους android.app.ActivityThread.main (ActivityThread.java:5571) στους java.lang.reflect .Method.invoke (Native Μέθοδος) σε com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:745) σε com.android.internal.os.ZygoteInit.main (ZygoteInit.java:6 35) 

Έχω κάθε απαραίτητο πράγμα σε πρόδηλη μου. Εδώ είναι ο κωδικός μου για τη δραστηριότητα χάρτη

public void onMapReady(GoogleMap googleMap) {
    mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
        @Override
        public void onMapClick(LatLng latLng) {
            markerOptions.position(latLng);
            markerOptions.title(latLng.latitude +  :  + latLng.longitude);
            mMap.clear();
            mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
            mMap.addMarker(markerOptions);
        }
    });

private void getAddress(){

    Geocoder geocoder;
    final List<Address> addresses;
    geocoder = new Geocoder(this, Locale.getDefault());
    try{
        addresses = geocoder.getFromLocation(latitude,longitude,1);

        if (addresses!=null && addresses.size() > 0){
            address = addresses.get(0).getAddressLine(0);
            city = addresses.get(0).getLocality();
        }

    }catch (IOException e){
        e.printStackTrace();
        Toast.makeText(getApplicationContext(), Cannot get data, Toast.LENGTH_SHORT).show();
    }


    btnOK.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            getAddress();
            confirmData(address, city);

        }
    });


}

private void confirmData(String address, String city) {

    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    Bundle bundle = new Bundle();
    intent.putExtra(data, bundle);
    intent.putExtra(address, address);
    intent.putExtra(city, city);
    startActivity(intent);
    finish();
}
Δημοσιεύθηκε 11/07/2018 στις 21:11
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Για να σταματήσει αυτό το σφάλμα απλά τυλίξτε το κωδικό ακροατή χάρτη κλικ.

if (latLng != null) {
    markerOptions.position(latLng);
    markerOptions.title(latLng.latitude + " : " + latLng.longitude);
    mMap.clear();
    mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
    mMap.addMarker(markerOptions);
}

Όσο για το λόγο αυτό δίνει μια μηδενική τιμή, δεν είμαι σίγουρος. Μήπως αυτό συμβεί κατά τη διάρκεια της onCreate κατά την πρώτη εκκίνηση της δραστηριότητας;

Απαντήθηκε 11/07/2018 στις 21:17
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more