2017-06-09 1 views
-1

Wenn ich 2 Aktivitäten habe und ich möchte hinzufügen, wenn Bedingung von einer Variablen auf der anderen Aktivität Wie kann ich das tun? wie ich, wenn ich die Variable, die 9 Zahlen im ersten Layout (erste Aktivität) enthält, und ich möchte, wenn Bedingung in einem anderen mit der x-Variable, die die Frage ist. Ich benutze Android Studio mit Kotlin.Verwenden von Variablen aus einer anderen Datei Kotlin

+0

Nun, Variable von anderen Aktivitäten zu nehmen ist in der Regel schlechte Idee, weil andere Aktivität in der Zwischenzeit zerstört werden könnte. Wenn Sie eine Variable haben, die Sie über Aktivitäten freigeben möchten, deklarieren Sie sie in der Application-Klasse und rufen Sie sie ab (YourApplicationClass) getApplicationContext(). – Tuby

+1

Mögliches Duplikat von [Wie übermittele ich Daten zwischen Aktivitäten in einer Android-Anwendung?] (Https://stackoverflow.com/questions/2091465/how-doi-i-pass-data-between-activities-in-android-application) – zsmb13

+0

Danke! es funktionierte! –

Antwort

3

Wenn sich der Wert Ihrer Variablen nicht ändert, nachdem Sie Ihre zweite Aktivität gestartet haben, können Sie Extras verwenden, um den Wert zwischen ihnen zu übergeben.

class FirstActivity : Activity() { 

    var myVariable: Boolean = false 

    fun gotoSecondActivity() { 
     val intent = Intent(this, SecondActivity::class.java) 
     intent.putExtra("MyVariable", myVariable) 
     startActivity(intent) 
    } 
} 

class SecondActivity: Activity() { 
    fun getMyVariable(): Boolean { 
     if (intent != null) { 
      if (intent.extras != null) { 
       return intent.extras.getBoolean("MyVariable") 
      } 
     } 
     return false // default 
    } 
} 
Verwandte Themen