Android中activity传值的两种方式

贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述Android中activity传值的两种方式相关的知识,希望能为你提供帮助。
第一种:第一个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);         }

【Android中activity传值的两种方式】第二个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());



本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1880953

    推荐阅读