2017-06-15 2 views
0

Ich erstellte eine Methode für meine MainActivity, um eine Zeichenfolge an meine SecondActivity zu übergeben.Android Studio: Variable durch eine andere Variable übergeben funktioniert nicht

public void convertCurrency(View view) 
{ 
    intent.putExtra("NO", "My String"); 
    startActivity(intent); 
} 

Aber in meinem SecondActivity in meiner OnCreate Methode

Button back = (Button) findViewById(R.id.back); 
    TextView t = (TextView) findViewById(R.id.first_text); 

    Intent intent = new Intent(this, MainActivity.class); 

    String g = intent.getStringExtra("NO"); 
    t.setText(g); 

Nichts passiert. Aber warum?

Antwort

0

ich das Problem selbst lösen. Es tritt ein Fehler auf, wenn Sie zwei Intent-Objekte mit demselben Namen haben, auch wenn sie sich in separaten Methoden befinden.

1

erhalten Ihre Variable auf diese Weise:

String yourVriable = getIntent().getStringExtra("NO") 

Ihre Absicht

+0

Ich habe versucht, aber ich erhielt eine Fehlermeldung "Währungsrechner hält an." –

+0

Senden Sie mir Ihr Stück Code – Meikiem

+0

Hier: https://www.dropbox.com/s/a3ruwcrfrcf916a/javacodes.zip?dl=0 –

0

Sie schaffen neue Absicht nicht neu tun.

In onCreate Methodenaufruf

String data = getIntent().getStringExtra(key); 
+0

Ich habe versucht, aber ich erhielt eine Fehlermeldung "Währungsrechner hält an." –

0

Intent intent = new Intent(this, MainActivity.class); ersetzen von Intent intent = getIntent();

Wenn Sie intent.getStringExtra("NO"); Ihre Absicht Objekt ist neu tun, so seine Extra-leer.

+0

Ich habe versucht, aber ich erhielt eine Fehlermeldung "Währungsrechner hält an." –

0

Sie müssen den Code in beiden Aktivitäten ändern. Sie müssen Absicht erstellen und Ihre Zeichenfolge einfügen, damit Ihr Code wird.

public void convertCurrency(View view) { 
    Intent intent = new Intent(this, Main2Activity.class); 
    intent.putExtra("NO","My String");     
    startActivity(intent); 
} 

Hinweis in der Absicht, Konstruktor, dass das erste Argument die aktuelle Aktivität ist und das zweite Argument wird die Aktivität, die Sie starting.So in der zweiten Tätigkeit sind Sie die Zeichenfolge empfangen müssen. Code für das sein wird,

Button back = (Button) findViewById(R.id.back); 
TextView t = (TextView) findViewById(R.id.first_text); 
String g = getIntent().getStringExtra("NO") 
t.setText(g); 
+0

Ich habe versucht, aber ich erhielt eine Fehlermeldung "Währungsrechner hält an". –

+1

Sie können den StackTrace mit aufnehmen –

Verwandte Themen