2017-12-05 2 views
0

Hallo Senden Doppel, Ich versuche, Daten von einer Aktivität auf eine andere Tätigkeit mit dieser Methode zu senden: how to retrieve a Double value from one activity to another? meine Anwendung Doch jedes Mal, wenn ich öffnen, stürzt wie sein, weil mein Code im onCreate:von einer Aktivität zur anderen Android Studio

double lat, longi; 
Intent getLocation; 
Bundle extras; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
getLocation = this.getIntent(); 
extras = getLocation.getExtras(); 
lat = extras.getDouble("lat"); 
longi = extras.getDouble("longi"); 

aber wenn ich es in eine Schaltfläche setzen stattdessen kann es nicht lösen this.getIntent();

public void getCoordinates(View view){ 
    Button coordinates = (Button) findViewById(R.id.getCoordinates); 
    coordinates.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View view){ 
      getLocation = this.getIntent(); 
      extras = getLocation.getExtras(); 
      lat = extras.getDouble("lat"); 
      longi = extras.getDouble("longi"); 
     } 
    }); 
} 

Ich möchte, Daten empfangen, entweder automatisch oder eine Taste. Ich bin ziemlich neu im Bereich Mobile Computing, also röste mich bitte nicht.

+0

Hallo Konradst verwenden sollte - ich glaube nicht, dass jemand Sie braten :-) wird. Auf dem Button-Ereignis löst this.getIntent() aufgrund der lexikalischen Festlegung nicht auf ("this" ist in einer Funktion verschachtelt und kann die getIntent() -Methode nicht sehen). Ich bin kein Experte in Android-Entwicklung, aber um eine gültige Antwort zu erhalten, ist es besser für Sie, die Frage nur mit der onCreate-Funktion zu bearbeiten und die Details des angezeigten Fehlers anzugeben (z. B. Absturzberichtdetails, Fehler Nachricht usw.). –

Antwort

0

this gemeint ist View.OnClickListener() in Ihrem Code.

Und wir brauchen YourActivity.this als Context

Sie

public void getCoordinates(View view){ 
Button coordinates = (Button) findViewById(R.id.getCoordinates); 
coordinates.setOnClickListener(new View.OnClickListener(){ 
    @Override 
    public void onClick(View view){ 
     getLocation = YourActivity.this.getIntent(); 
     extras = getLocation.getExtras(); 
     lat = extras.getDouble("lat"); 
     longi = extras.getDouble("longi"); 
    } 
}); 
} 
+0

Danke. Dies hat mein Problem gelöst :) – Konradst

+0

Viel Glück für Sie.Enjoy Codierung. @ Konradst – KeLiuyue

Verwandte Themen