как передать данные между более чем 2 видами деятельности Kotlin - PullRequest
0 голосов
/ 16 апреля 2019

Мне нужно передать несколько переменных между более чем двумя действиями.

Я знаю, как переходить от одного к другому, но не от первого к третьему.

Занятие 1

btnNext.setOnClickListener {
  val i = Intent(this, Activity2::class.java)
  val variableOne= txtVariableOne.text.toString()
  i.putExtra("VARIABLEONE",variableOne)
  startActivity(i)
}

Занятие TWO

btnNext.setOnClickListener {
  val i = Intent(this, Activity3::class.java)
  val VariableTwo = txtVariableTwo.text.toString()
  i.putExtra("VARIABLETWO",variableTwo)
  startActivity(i)
}

Задание 3 (это то, что мне нужно)

Log.d("DEBUG ", "Value: " + intent.getStringExtra("VARIABLEONE"))
Log.d("DEBUG ", "Value: " + intent.getStringExtra("VARIABLETWO"))

Мне нужен доступ VariableOne и VariableTwo из задания 3.

Спасибо

Ответы [ 3 ]

0 голосов
/ 16 апреля 2019

Действие два

 override fun viewAllNotes() {
    val intent : Intent = Intent(this, ViewAllNotesActivity::class.java)
     intent .putExtra("VARIABLEONE",variableOne)
    startActivityForResult(intent, VIEW_ALL_REQUEST_CODE)
  }


  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
 super.onActivityResult(requestCode, resultCode, data)
 if (resultCode == Activity.RESULT_OK){
    if (requestCode == VIEW_ALL_REQUEST_CODE){
  //get data here
        }
    }
    }
 }

Действие три

@Override
public void onBackPressed() {
    Intent result = new Intent();
    result .putExtra("VARIABLEONE",variableOne)        
    setResult(Activity.RESULT_OK, result);
    this.finish();
  }

В противном случае вы можете сохранить значения, используя Shared-preference, и получить значения в любом месте проекта

0 голосов
/ 16 апреля 2019

Я могу сказать то же самое, что мы передаем в java
Есть много способов
С одной стороны, вы можете пройти намеренно, когда начинаете другую деятельность, которая является правильной, когда вы думаете, данные во время запускаактивность, подобная приведенной ниже,

val intent = Intent(mActivity, LoginActivity::class.java);
intent.putExtra("keyName", data)
startActivity(intent)

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

0 голосов
/ 16 апреля 2019

Деятельность ДВА

btnNext.setOnClickListener {
  val i = Intent(this, Activity3::class.java)
  val VariableTwo = txtVariableTwo.text.toString()

  //THIS WHAT YOU NEED:
  i.putExtra("VARIABLEONE",intent.getStringExtra("VARIABLEONE"));

  i.putExtra("VARIABLETWO",variableTwo)
  startActivity(i)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...