运行界面
停止运行第一个Activity
package com.example.demointent;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class FirstActivity extends Activity {
private Button bt1;
private Button bt2;
private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        /*
         * 通过点击bt1实现页面之间的跳转
         * 1.startActivity的方法来实现
         */
        bt1 = (Button) findViewById(R.id.button1_first);
        /*
         * 通过点击bt2实现页面有返回值的跳转
         * 2.startActivityForresult方法
         */
        bt2 = (Button) findViewById(R.id.button2_first);
        tv = (TextView) findViewById(R.id.textView1);
//        注册点击事件,按钮对象.setOnClickListener方法(new OnClickListener())---->导包
        bt1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
/*
 * Intent一个intent对象,
 * 参数解释:
 * PackageContext:上下文对象(1.直接FirstActivity.this   2.初始化全局变量Private Context=mcontext;-->赋值mcontext=this;-->参数mcontext.this)
 * cls:目标文件,要跳转的目标
 */
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
        
        //注册点击事件
        bt2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);
//intent对象;requestCode:请求码
}
});
        
    }
/*
 * onActivityResult方法
 * requestCode:请求码,通过请求码确定主页面请求访问哪个页面,
 * resultCode:返回码,通过返回码确定哪个页面返回给主页面数据
 * data:页面返回的数据
 */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     super.onActivityResult(requestCode, resultCode, data);
     if(requestCode == 1 && resultCode == 2){
     String content = data.getStringExtra("data");//判断请求码和返回码,得到返回数据
     tv.setText(content);//文本框设置文本
     }
    
    }
    
}第二个activity
package com.example.demointent;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class SecondActivity extends Activity {
private Button bt;
private String content="我是SecondActivity返回的值";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
bt.findViewById(R.id.button1_second);
bt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent data = new Intent();//不需指定目标了
data.putExtra("data", content);
setResult(2, data);
finish();
/*
 * 参数解释:
 * data.putExtra:Intent放数据的
 * name,value
 * 同Java中map集合类似,也是通过key和value值保存数据的
 * 
 * setResult:
 * resultCode返回码
 * data:回传的数据
 * 
 * 总结:在监听事件中,Intent一个对象data,用于表明当前界面的意图,连接两个界面;
 * 为当前的data对象储存返回的数据name为data,value为字符串变量content
 * 设置返回参数,返回码2,返回数据-->data对象
 * 结束页面
 */
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, menu);
return true;
}}第一个xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".FirstActivity" >    <TextView
        android:id="@+id/textView1"
        android:textSize="20sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="17dp"
        android:text="将第二页面回传的数据显示出来" />    <Button
        android:id="@+id/button1_first"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:text="无返回值方式启动" />    <Button
        android:id="@+id/button2_first"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1_first"
        android:layout_below="@+id/button1_first"
        android:text="有返回值方式启动" /></RelativeLayout>
第二个xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SecondActivity" >    <Button
        android:id="@+id/button1_second"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击以返回并关闭此页面" /></RelativeLayout>
mainfest
logcat