1.Button加入onClick属性,指向启动新的activity的函数
Button android:onClick="sendMessage" />
2.在mainactivity.java中添加该函数
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 intent = new Intent(this, DisplayMessageActivity.class)
Intent是在不同组件中(比如两个Activity)提供运行时绑定的对象。Intent
代表一个应用"想去做什么事",你可以用它做各种各样的任务,不过大部分的时候他们被用来启动另一个Activity。
EditText editText = (EditText) findViewById(R.id.edit_message);
用findViewById()方法得到EditText元素,其中findViewById默认返回View类,需要转换为EditText
** String message = editText.getText().toString();**
** intent.putExtra(EXTRA_MESSAGE, message);**
把EditText的文本内容关联到一个本地 message 变量,并使用putExtra()方法把值传给intent.
startActivity(intent);
启动新的Activity
3.在mainactivity.java中导入类
import android.view.View;
import android.content.Intent;
import android.widget.EditText;
4.在MyActivity class,定义EXTRA_MESSAGE :
为让新启动的activity能查询extra数据。定义key为一个public型的常量,通常使用应用程序包名作为前缀来定义键是很好的做法,这样在应用程序与其他应用程序进行交互时仍可以确保键是唯一的。
5.建立新的Activity
6.为新建的Activity的xml文件的标签添加id属性
7.为DisplayMessageActivity.java编辑接受Intent和显示文本的代码
代码解释
1.Intent intent = getIntent();
得到intent 并赋值给本地变量.
2.String message= intent.getStringExtra(MyActivity.EXTRA_MESSAGE);
调用 getStringExtra()提取从 MyActivity 传递过来的消息.
3.TextView textView = new TextView(this);
在onCreate()方法中创建一个对象TextView
4.textView.setTextSize(40);
textView.setText(message);
用setText()来设置文本字体大小和内容.
5.RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);
layout.addView(textView);
将TextView加入之前被标记为R.id.content的RelativeLayout中