安卓系统中活动传值的两种方式

  

第一种:第一个活动

,/* *   ,,,,*,通过这个方法跳转到activity2界面*/,,,public  void  gotoActivity2 (View  v) {   ,,,,//创建一个意图   ,,,,Intent 意图=new 意图(这个,MainActivity2.class);   ,,,,   ,,,,   ,,,,//第一种传值方式   ,,,,Bundle 包=new 包();   ,,,,bundle.putString(“名字”,“zhangsan”);   ,,,,bundle.putInt(“时代”,23);   ,,,,intent.putExtra(“人”,,包);   ,,,,//启动另一个活动   ,,,,startActivity(意图);   ,,,}

第二个活动

/* *   ,*活动被创建时调用   ,*可以在该方法中初始化UI组件   ,*该方法调用完毕会调用onStart()方法   *,*/,,@Override   ,,,protected  void  onCreate (Bundle  savedInstanceState), {   ,,,,,,,super.onCreate (savedInstanceState);   ,,,,,,,setContentView (R.layout.activity_main2);   ,,,,,,,System.out.println (“MainActivity2-onCreate () ");   ,,,,,,,   ,,,,,,,   ,,,,,,,//获取上一个活动传过来的参数   ,,,,,,,Intent 意图=getIntent ();   ,,,,,,,Bundle 包=intent.getBundleExtra(“人”);   ,,,,,,,String  name=, bundle.getString(“名字”);   ,,,,,,,int 年龄=bundle.getInt(“年龄”);   ,,,,,,,System.out.println(名字+”,,,,,”+年龄);   ,,,,,,,TextView  textView=(textView), findViewById (R.id.textView2);   ,,,,,,,textView.setText (" name=" + + "年龄才能=" +年龄);   ,,,,,,,   ,,,}

第二种:activity1

,,,,,,//第二种传值方式   ,,,intent.putExtra(“名字”,“小白”);   ,,startActivity(意图);

activity2

,,,,,,Intent 意图=getIntent (),,,,,,,,,   ,,,,,String  name2=, intent.getStringExtra(“名字”);   ,,,,,TextView  textView=(textView), findViewById (R.id.textView2);   ,,,,,textView.setText (“name2=" + name2);

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

activity1

,,,,,,,,,,,,//传递自定义类型   ,,,,,,,Cat 猫=new 猫(1),“校花”,,23);   ,,,,,,,intent.putExtra(“猫”,,猫);   ,,,,,,,startActivity(意图);

activity2

,,,,,,,,,,,,//第二种   ,,,,,,,,,,,String  name2=, intent.getStringExtra(“名字”);   ,,,,,,,,,,,Cat 猫=(cat), intent.getSerializableExtra(“猫”);   ,,,,,,,,,,,TextView  textView=(textView), findViewById (R.id.textView2);   ,,,,,,,,,,,textView.setText("猫=" + cat.toString ());


安卓系统中活动传值的两种方式