Android中activity传值的两种方式
第一种:第一个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());
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。