Intent.putExtra не работает на второй активности - PullRequest
0 голосов
/ 09 ноября 2019

Моя переменная EXTRA_REPLY не хранит информацию, она используется точно так же, как и другая переменная с именем EXTRA_MESSAGE. Строка просто не сохраняется в моем EXTRA_REPLY

Пошаговое руководство

Тестируя это, тост ясно показывает, что переменная EXTRA_REPLY не хранит мою строку ответа, потому что ничего (ноль) не появляется,тост на других моих работах деятельности (он отображает строку, которую я набираю в поле editText_main.

fun returnReply (view: View) {

    val replyIntent = Intent(this, MainActivity::class.java)

    val reply = "${editText_second.text}"

    replyIntent.putExtra(EXTRA_REPLY, reply)
    setResult(RESULT_OK,replyIntent)

    Toast.makeText(applicationContext, intent.getStringExtra(EXTRA_REPLY), Toast.LENGTH_LONG).show()
    finish()

}

}


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

fun launchSecondActivity (view: View) {Log.d (LOG_TAG, «Кнопка нажата!»)

    val intent = Intent(this, SecondActivity::class.java)



    val message = "${editText_main.text}"


    intent.putExtra(EXTRA_MESSAGE, message)

    Toast.makeText(applicationContext, intent.getStringExtra(EXTRA_MESSAGE), Toast.LENGTH_LONG).show()



    startActivityForResult(intent, TEXT_REQUEST)

    editText_main.text.clear()

}

Это мой приемник намерений, который получает данные намерений из первого фрагмента кода. Я не знаю, работает ли это до EXTRA_REPLYпеременная успешно хранит информацию. Как было сказано ранее, EXTRA_MESSAGE фактически сохраняет мою строку.

public override fun onActivityResult(requestCode: Int, resultCode: Int,
    data: Intent?
) {

    super.onActivityResult(requestCode, resultCode, data)

   if (requestCode == TEXT_REQUEST) {
        if (resultCode == RESULT_OK) {



            val reply = intent.getStringExtra(SecondActivity().EXTRA_REPLY)




            (findViewById<TextView>(R.id.text_header_reply) as TextView).setVisibility(View.VISIBLE)
            (findViewById(R.id.text_message_reply) as TextView).setText(reply)




        }
    }
...