• Android Activity跳转


    实现点击按钮,发送消息并跳转到另一个Activity

    1. MainActivity添加SendMessage方法
    const val EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"
    
    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
        }
    
        /** Called when the user taps the Send button */
        fun sendMessage(view: View) {
            val intent = Intent(this, DisplayMessageActivity::class.java).apply {
                putExtra(EXTRA_MESSAGE, "my message")
            }
            startActivity(intent)
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    通过 EXTRA_MESSAGE 传递消息: "my message"给新的Activity
    Intent 构造函数会获取两个参数:Context(this) 和 Class(要启动的 activity)
    putExtra参数要传入独一无二的字串和要传递的消息
    startActivity() 方法将启动一个由 Intent 指定的 DisplayMessageActivity 实例

    1. 添加Send按钮
      拖动一个Button到activity_main.xml中,并定义点击时调用 sendMessage方法
    btnNumbers.setOnClickListener{
        Log.e("click", "click btn Numbers")
       
        val intent = Intent(this, NumbersMainActivity::class.java).apply{
            putExtra(EXTRA_NUMBERS_MESSAGE, "numbers message")
        }
        startActivity(intent)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    此时NumbersMainActivity还没有创建,显示红色

    1. 创建新的 Activity
      右键MainActivity.kt的文件夹,新建Empty Activity,填入DisplayMessageActivity,在其中写入
    class NumbersMainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_numbers_main)
    
            val message = intent.getStringExtra(EXTRA_NUMBERS_MESSAGE)
    
            val textView = findViewById(R.id.textViewNumbers).apply {
                text = message
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    修改 activity_numbers_main.xml, 拖入一个 TextView元素,并设置id为textViewNumbers,用于显示收到的消息

    1. 返回按钮 (向上导航)

    修改 AndroidManifest.xml

    <activity android:name=".DisplayMessageActivity"
              android:parentActivityName=".MainActivity">
        
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    activity>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    就是这个
    在这里插入图片描述

  • 相关阅读:
    题解:《算法竞赛进阶指南》, NOIP2009提高组
    学习总结1
    web前端面试题附答案038-拼接字符串你平时怎么搞?
    [随笔] 具有产品意识的工程师
    MySql学习笔记:索引和索引创建策略
    已解决urllib.request.urlretrieve下载文件报错403
    CentOS 升级内核至5.15.52
    基于springboot实现校友社交平台管理系统项目【项目源码+论文说明】计算机毕业设计
    C和指针 第11章 动态内存分配 11.6 内存分配实例
    C++ std::condition_variable 条件变量用法
  • 原文地址:https://blog.csdn.net/change_fate/article/details/127985150