第4天:用户界面和布局补充材料——`MainActivity.kt`解读

下面是对“第4天:用户界面和布局补充材料”该文学习的更深层次的补充材料,对 MainActivity.kt 文件的理解。
下面对`MainActivity.kt’ 文件中每一行进行详细解释:

package com.example.loginapp

这行代码定义了包名,com.example.loginapp是这个类所在的包的名称。

import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

这些是导入语句,导入了需要的类和库:

  • Bundle用于传递数据。
  • ButtonEditTextToast用于创建用户界面和交互。
  • AppCompatActivity是一个基类,提供了兼容性支持。
class MainActivity : AppCompatActivity() {

这行代码定义了MainActivity类,它继承自AppCompatActivity,使得它能够使用Android的活动特性。

    override fun onCreate(savedInstanceState: Bundle?) {

重写onCreate方法,这是Activity创建时调用的方法。savedInstanceState用于恢复之前的状态。

        super.onCreate(savedInstanceState)

调用父类的onCreate方法,以确保Activity的基本设置得以完成。

        setContentView(R.layout.activity_login)

设置当前Activity的布局为activity_login.xml文件中定义的布局。

        val etUsername = findViewById<EditText>(R.id.et_username)
        val etPassword = findViewById<EditText>(R.id.et_password)
        val btnLogin = findViewById<Button>(R.id.btn_login)

通过findViewById方法查找布局中的视图组件:

  • etUsername是用户名输入框。
  • etPassword是密码输入框。
  • btnLogin是登录按钮。
        btnLogin.setOnClickListener {

为登录按钮设置点击事件监听器,定义当按钮被点击时执行的代码块。

            val username = etUsername.text.toString()
            val password = etPassword.text.toString()

获取输入框中的文本内容,并转换为字符串,分别存储在usernamepassword变量中。

            if (username.isNotEmpty() && password.isNotEmpty()) {

检查用户名和密码是否不为空。

                Toast.makeText(this, "欢迎,$username!", Toast.LENGTH_SHORT).show()

如果输入有效,显示一个短暂的Toast消息,欢迎用户。

            } else {
                Toast.makeText(this, "请输入用户名和密码", Toast.LENGTH_SHORT).show()
            }

如果用户名或密码为空,显示一个提示用户输入的Toast消息。

        }
    }
}

结束了按钮点击事件处理的代码块,并完成了onCreate方法及MainActivity类的定义。

总体上,这段代码实现了一个简单的登录界面,用户输入用户名和密码后,可以通过点击按钮获得反馈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值