startActivityForResult

 1 /**
 2      * 
 3      *  函数名称 : registerListener
 4      *  功能描述 : 注册监听 
 5      *  参数及返回值说明:
 6      *
 7      *  修改记录:
 8      *      日期:2011-12-13 上午10:14:03    修改人:gy
 9      *      描述    :
10      *
11      */
12     private void registerListener()
13     {
14         btnStartActivityForResult.setOnClickListener(new OnClickListener()
15         {
16             @Override
17             public void onClick(View v)
18             {
19                 //初始化 Intent 对象
20                 Intent intent = new Intent();
21                 //setClass方法:指定 Intent 要启动的 Activity
22                 //参数一:表示原先 Activity 的环境条件对象(Context)
23                 //参数二:表示被启动的 Activity 的 Class 对象
24                 intent.setClass(StartIntentForResult_Demo1.this, ResultActivity1.class);
25                 //启动一个新的 Activity
26                 //startActivityForResult 使这个新的 Activity 关闭后能返回参数
27                 //参数二:1  是发送参数,主要用来区分当前 Activity 打开多个 Activity 时进行返回值的区分 
28                 startActivityForResult(intent, 1);
29             }
30         });
31     }
32     
33     /**
34      *  函数名称 : onActivityResult
35      *  功能描述 : 返回此 Activity 时调用此方法 
36      *  参数说明:
37      *      @param requestCode    就是当前Activity 中  startActivityForResult(intent, 1) 方法中第二个参数的值
38      *      @param resultCode    ResultActivity1.this.setResult(Activity.RESULT_OK, intent) 这个返回结果的参数一的值
39      *      @param data            Intent 对象
40      *  返回值:
41      *      
42      *  修改记录:
43      *  日期:2011-12-13 下午1:55:16    修改人:gy
44      *  描述    :
45      *                     
46      */
47     @Override
48     protected void onActivityResult(int requestCode, int resultCode, Intent data)
49     {
50         super.onActivityResult(requestCode, resultCode, data);
51         System.out.println("调用了 StartIntentForResult_Demo1 的 onActivityResult 方法,requestCode:" + requestCode + "   resultCode:" + resultCode);
52         //requestCode = 1 就是上面打开 ResultActivity1 时传递的发送参数,主要用来区分当前 Activity 打开多个 Activity 时进行返回值的区分 
53         if(requestCode == 1)
54         {   
55             //resultCode = Activity.RESULT_OK 是 ResultActivity1 传送回来的参数值
56             if(resultCode == Activity.RESULT_OK)
57             {  
58                 String strResult = data.getStringExtra("result");
59                 tvResult.setText(strResult);
60             }       
61         } 
62     }

 

 

新的Activity返回信息的方法

//初始化 Intent 对象
Intent intent = new Intent();
//setClass方法:指定 Intent 要启动的 Activity
//参数一:表示原先 Activity 的环境条件对象(Context)
//参数二:表示被启动的 Activity 的 Class 对象
intent.setClass(ResultActivity1.this, StartIntentForResult_Demo1.class);
intent.putExtra("result", "这是点击 ResultActivity1 的 btnBack1 按钮返回的数据");
//启动一个新的 Activity
//setResult方法:设置返回给 Activity 的结果
//参数一:返回的代码
//参数二:Intent 对象
ResultActivity1.this.setResult(Activity.RESULT_OK, intent);
//销毁当前 Activity,并返回到 StartIntentForResult_Demo1,而且会调用 StartIntentForResult_Demo1 的 onActivityResult 方法
//(注意:这句不能少,不然不会返回到 StartIntentForResult_Demo1)
ResultActivity1.this.finish();

 

 

 

 

 

转载于:https://www.cnblogs.com/totome/archive/2012/08/31/2664946.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值