Глобальная переменная в Kotlin (android studio), инициализированная в одном действии, остается в первоначальном значении в других действиях - PullRequest
0 голосов
/ 26 июня 2019

Я хотел бы реализовать глобальную переменную, которая обновляет свое значение при переходе от одного действия к другому (и обратно). Для более подробного объяснения, скажем, моя переменная называется globalVar, и globalVar инициализируется в действии A как «», затем в действии A, когда нажимается пара кнопок, значение обновляется до новой строки. При переходе от действия A к действию B globalVar в действии B должен быть равен обновленной строке в действии A в дополнение к некоторому значению. Другими словами, globaVar должен следить за его обновлениями.

Проблема в том, что при переходе от одного действия к другому значение моей глобальной переменной сбрасывается до первоначального значения.

Я уже пытался сделать инициализацию частной и реализовать открытую функцию, которая обновляет значение, но это не сработало. Ниже приведен код, который у меня есть.

открытый класс Speak: AppCompatActivity () {

private var globalVar= ""


override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_speak)

    val pplMom= findViewById<ImageButton>(R.id.pplMom)
     globalVar= "mom" 

   pplMom.setOnClickListener{

    intent= Intent(this, People::class.java)
    startActivity(intent)}} 

public fun setVar (globalVar :String) {

    this.globalVar= globalVar
    Toast.makeText(this, globalVar, Toast.LENGTH_LONG).show()

}
public fun getVar(): String {

    return globalVar
}

}

=========================================

класс People: AppCompatActivity (), {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_people)


    var mApp= Speak()
    var globalVar= mApp.getVar()
    globalVar= globalVar + "testtest"

    Toast.makeText(this, globalVar, Toast.LENGTH_LONG).show()

}}

Я напечатал «testtest» вместо «Hellotesttest»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...