第6天:Intent和页面导航-补充材料——`SecondActivity.kt`解读

下面是对“第6天:Intent和页面导航”该文学习的更深层次的补充材料,对 SecondActivity.kt 文件的理解。
下面对`SecondActivity.kt’ 文件中每一行进行详细解释:

package com.example.intentdemo
  • 包声明:指定当前类属于com.example.intentdemo包,帮助组织代码并避免命名冲突。
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
  • 导入语句:引入所需的类和库:
    • Bundle:用于传递数据。
    • TextView:用于显示文本。
    • AppCompatActivity:支持库的Activity基类,提供了向后兼容的功能。
class SecondActivity : AppCompatActivity() {
  • 类声明:定义一个名为SecondActivity的类,继承自AppCompatActivity,使其具有Android Activity的基本功能。
    private lateinit var textView: TextView
  • 属性声明:定义一个私有变量textView,类型为TextViewlateinit修饰符表示该变量将在稍后初始化,而不在声明时初始化,确保在使用前被赋值。
    override fun onCreate(savedInstanceState: Bundle?) {
  • 重写onCreate方法:当Activity创建时调用的生命周期方法。这里savedInstanceState是可选的,包含先前保存的状态。
        super.onCreate(savedInstanceState)
  • 调用父类方法:确保父类的onCreate方法被调用,以便进行必要的初始化。
        setContentView(R.layout.activity_second)
  • 设置布局:将Activity的视图设置为activity_second.xml定义的布局文件。此文件中定义了UI组件。
        // 初始化TextView
        textView = findViewById(R.id.tv_received_message)
  • 初始化TextView:通过findViewById方法找到布局中ID为tv_received_messageTextView,并将其赋值给textView变量,以便后续使用。
        // 获取Intent传递的数据
        val message = intent.getStringExtra("EXTRA_MESSAGE")
  • 获取Intent数据:从当前Activity的Intent中获取名为EXTRA_MESSAGE的字符串数据。若未找到,则返回null
        textView.text = message ?: "No message received" // 显示消息
  • 设置TextView内容:如果message不为null,将其设置为textView的文本;如果messagenull,则显示默认消息“没有接收到消息”。这里使用了Kotlin的安全调用和 Elvis 操作符(?:)。
    }
}
  • 结束类定义:结束SecondActivity类的定义。

总结来说,这段代码实现了在SecondActivity中接收从MainActivity传递的数据,并将其显示在TextView中。如果没有接收到数据,则显示一条默认消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值