实现点击按钮,发送消息并跳转到另一个Activity
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)
}
}
通过 EXTRA_MESSAGE 传递消息: "my message"给新的Activity
Intent 构造函数会获取两个参数:Context(this) 和 Class(要启动的 activity)
putExtra参数要传入独一无二的字串和要传递的消息
startActivity() 方法将启动一个由 Intent 指定的 DisplayMessageActivity 实例
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)
}
此时NumbersMainActivity还没有创建,显示红色
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
}
}
}
修改 activity_numbers_main.xml, 拖入一个 TextView元素,并设置id为textViewNumbers,用于显示收到的消息
修改 AndroidManifest.xml 的
<activity android:name=".DisplayMessageActivity"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
activity>
就是这个
