【发布时间】:2020-02-22 09:30:55
【问题描述】:
在 Android/Kotlin 中,我在 onCreate 函数中使用 startActivityForResult 启动了一个新活动,并在 onCreate 函数之外从 onActivityResult 获取返回的变量(我们称之为 X)。随后我想访问 onCreate 函数中的变量 X 以将其显示在屏幕上。但是,它永远不会将数据显示为空。
关于我可能做错了什么的任何想法?谢谢
这里是代码。当用户单击 notesView 时,它会启动一个新活动 (Notes2Activity),用户可以在其中全屏输入其笔记。然后在验证笔记后,代码返回到我试图编辑 NotesView 的内容以返回笔记的上一个活动,但应用程序崩溃了。
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")}
}
【问题讨论】:
-
需要显示您的代码以查找错误或错误。
标签: android kotlin oncreate onactivityresult