Intent跳转与传值方法
响应Send(发送)按钮
1 在Android Studio中打开res/layout目录下的activity_my.xml 文件.
2 为 Button 标签添加android:onclick属性.
res/layout/activity_my.xml
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
Intent创建界面
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
接收Intent
不管用户导航到哪,每个Activity都是通过Intent被调用的。我们可以通过调用getIntent()来获取启动activity的Intent及其包含的数据。
1 编辑java/com.mycompany.myfirstapp目录下的DisplayMessageActivity.java文件.
2 删除onCreate()方法中下面一行:
setContentView(R.layout.activity_display_message);
3 得到intent 并赋值给本地变量.
Intent intent = getIntent();
4 为Intent导入包.
在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return).
5 调用 getStringExtra()提取从 MyActivity 传递过来的消息.
String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

浙公网安备 33010602011771号