【Android】Activity之间传递信息

源自:http://blog.163.com/lingliu_08@126/blog/static/120384450201132524659715/

一、比如,a.activity 要把一些数据传给b.activity:

//当点击button时,从a到b传递数据i_id; 并打开页面b.activity

//在 a.activity中定义

  button.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {    
              Intent intent = new Intent();
              intent.setClass(a.this, b.class);
              Bundle bundle = new Bundle();
              bundle.putString("v_id",i_id); //要传递的数据
              intent.putExtras(bundle);    
              startActivity(intent);
              overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
        }
    });

//b.activity 中加入,来获取数据

String v_id = this.getIntent().getExtras().getString("v_id");

 

二、如果,a.activity 要把一些数据传给b.activity,并且当b.activity关闭后,要回调数据给a.activity

//在a.activity中加入:

button.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
      Intent intent = new Intent();
      intent.setClass(a.this, b.class);
      Bundle bundle = new Bundle();
      bundle.putString("v_id",i_id);
      intent.putExtras(bundle);
      startActivityForResult(intent,0);
      overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
   }

 });

//在b.activity中加入:

String v_id = this.getIntent().getExtras().getString("v_id");

 

//在b.activtiy 中加入。当关闭b时,传递数据name给a:

   b_close.setOnClickListener(new OnClickListener(){
       @Override
       public void onClick(View arg0) {
       Intent intent = getIntent();
       Bundle bundle = new Bundle();
       bundle.putString("name",name);
       intent.putExtras(bundle);
       setResult(RESULT_OK,intent);
       finish();
   }
});

 

//在a.activity中加入,接受回调信息name

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data_intent){
    super.onActivityResult(requestCode, resultCode, data_intent);
     if(resultCode == RESULT_CANCELED)
            setTitle("cancel");
     else if (resultCode == RESULT_OK){
            Bundle bundle = data_intent.getExtras();
            if(bundle != null){
            //获取b传送的数据
              String name = bundle.getString("name");              
            }
       }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值