В Android / Kotlin я запускаю новое действие с startActivityForResult
в моей функции onCreate
и получаю возвращаемую переменную (назовем ее X) из onActivityResult
вне функции onCreate
. Впоследствии я хочу получить доступ к переменной X в функции onCreate
, чтобы отобразить ее на экране. Однако он никогда не отображает данные, как если бы они были пустыми .
Есть идеи, что я могу делать неправильно? Спасибо
Вот код. Когда пользователь нажимает на NotesView, он запускает новое действие (Notes2Activity), где пользователь может вводить свою заметку в полноэкранном режиме. Затем после проверки заметки код возвращается к предыдущему действию, где я пытаюсь изменить содержимое NotesView для returnNotes, но приложение вылетает.
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_contact)
val notesView: TextView
notesView = findViewById<TextView>(R.id.inputNotes)
notesView.setOnClickListener {
val intent = Intent(this, Notes2Activity::class.java)
startActivityForResult(intent,2)}}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {if (resultCode == Activity.RESULT_OK) {
if(data != null) {
val returnNotes: String = data.getSerializableExtra("notesEntered") as String
var returnNotesInputs = returnNotes
notesView.setText("")
notesView.append(returnNotes)
Log.d(TAG, "note returned to newContactActivity is: $returnNotes")}}
else if (resultCode == Activity.RESULT_CANCELED)
{Log.d(TAG, "user clicked canceled in Notes2Activity")}
}