Intent传递数据

Intent it = new Intent(Activity1.this, Activity2.class);
    Bundle bundle=new Bundle();
    bundle.putString("name", "This is from MainActivity!");
    it.putExtras("bd",bundle);       // it.putExtra(“test”, "shuju”);
    startActivity(it);            // startActivityForResult(it,REQUEST_CODE);

方法2和方法1类似,但是实现了数据传递,注意Bundle对象类似于HashTable,可以存放一个键和对应的对象。而Intent对象也可以以键值对的方式存放bundle对象,从而实现在Activity1和

Acitivty2之间传递数据。在Activity2中可以通过以下方法获得Activity1中传递过来的数据

Intent intent = getIntent();
 Bundle bd = intent.getBundleExtra("bd");// 根据bundle的key得到对应的对象

 String name=bd.getString("name");

3.在Activity2中向上一个Activity返回结果(使用setResult,针对startActivityForResult(it,REQUEST_CODE)启动的Activity)

      Intent intent=getIntent();      
      Bundle bundle2=new Bundle();       
      bundle2.putString("name", "This is from ShowMsg!");      
      intent.putExtras(bundle2);       
      setResult(RESULT_OK, intent);

你可能感兴趣的:(Intent传递数据)