Моя переменная 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)
}
}