Android 启动新的Activity

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

Android 启动新的Activity_第1张图片

6.为新建的Activity的xml文件的标签添加id属性

Android 启动新的Activity_第2张图片

7.为DisplayMessageActivity.java编辑接受Intent和显示文本的代码

Android 启动新的Activity_第3张图片

代码解释

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中

你可能感兴趣的:(Android 启动新的Activity)