第一种:第一个Activity

/***通过这个方法跳转到activity2界面*/publicvoidgotoActivity2(Viewv){//创建一个意图Intentintent=newIntent(this,MainActivity2.class);//第一种传值方式Bundlebundle=newBundle();bundle.putString("name","zhangsan");bundle.putInt("age",23);intent.putExtra("person",bundle);//启动另一个activitystartActivity(intent);}

第二个Activity

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

第二种:activity1

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

activity2

Intentintent=getIntent();Stringname2=intent.getStringExtra("name");TextViewtextView=(TextView)findViewById(R.id.textView2);textView.setText("name2="+name2);

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

activity1

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

activity2

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