如何使用 Kotlin 将数据发送回 Android 中的 MainActivity?
由于发送数据的方法有很多,但在本文中,我们将使用startActivityForResult()方法。这里我们需要使用startActivityForResult()方法启动一个子活动。然后从子活动中,我们可以轻松地将数据发送回主活动。
示例:
Note: To implement it in java refer to this article: How to send data from one activity to second activity using Java
分步实施
第 1 步:使用 kotlin 在 android 中创建新项目
第 2 步:为 MainActivity 创建 XML 布局
XML
Kotlin
package com.ayush.gfg_exit
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import kotlin.properties.Delegates
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById
XML
Kotlin
package com.ayush.gfg_exit
import android.app.Activity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
class ChildActivity : AppCompatActivity() {
lateinit var etChild: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_child)
etChild = findViewById(R.id.etChild)
findViewById
第 3 步:下面是 MainActivity.kt 文件的代码
科特林
package com.ayush.gfg_exit
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import kotlin.properties.Delegates
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById
第 4 步:子活动的 XML
XML
第 5 步:遵循 ChildActivity.kt 文件的代码
科特林
package com.ayush.gfg_exit
import android.app.Activity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
class ChildActivity : AppCompatActivity() {
lateinit var etChild: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_child)
etChild = findViewById(R.id.etChild)
findViewById
这样我们的应用就准备好了。
输出: