Android中activity传值的两种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    }

第二个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

以上是关于Android中activity传值的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

Activity间传值的方式

vue打开新窗口的两种方式

前台向后台传值的两种方法 以及 从后台获取数据的方法

Android中实现activity的页面跳转并传值

Android Activity返回键控制的两种方式

ANDROID中FRAGMENT的两种创建方式