第一种:第一个Activity

 /**     * 通过这个方法跳转到activity2界面*/    public void gotoActivity2(View v){    	//创建一个意图    	Intent intent=new Intent(this,MainActivity2.class);    	    	    	//第一种传值方式    	Bundle bundle=new Bundle();    	bundle.putString("name","zhangsan");    	bundle.putInt("age", 23);    	intent.putExtra("person", bundle);    	//启动另一个activity    	startActivity(intent);    }

第二个Activity

/**	 * Activity被创建时调用	 * 可以在该方法中初始化UI组件	 * 该方法调用完毕会调用onStart()方法	 * */    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        System.out.println("MainActivity2-onCreate()");                        //获取上一个activity传过来的参数        Intent intent=getIntent();        Bundle bundle=intent.getBundleExtra("person");        String name= bundle.getString("name");        int age=bundle.getInt("age");        System.out.println(name+"   :  "+age);        TextView textView=(TextView) findViewById(R.id.textView2);        textView.setText("name="+name+"  age="+age);            }

第二种:activity1

      //第二种传值方式    intent.putExtra("name", "小白");   startActivity(intent);

activity2

      Intent intent=getIntent();              String name2= intent.getStringExtra("name");      TextView textView=(TextView) findViewById(R.id.textView2);      textView.setText("name2="+name2);

传递自定义类型(自定义类,自定义类必须序列化)

activity1

            //传递自定义类型    	    Cat cat=new Cat(1, "校花", 23);    	    intent.putExtra("cat", cat);    	    startActivity(intent);

activity2

            //第二种            String name2= intent.getStringExtra("name");            Cat cat=(Cat) intent.getSerializableExtra("cat");            TextView textView=(TextView) findViewById(R.id.textView2);            textView.setText("cat="+cat.toString());