码迷,mamicode.com
首页 > 其他好文 > 详细

浅析:Acitivity间数据的传递

时间:2015-09-21 10:41:53      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

使用startActivityForResult方法进行数据传递。

 

MainActivity.java

1 public class MainActivity extends Activity {

 2     Button  btn;

 3     @Override

 4     protected void onCreate(Bundle savedInstanceState) {

 5         super.onCreate(savedInstanceState);

 6         setContentView(R.layout.activity_main);

 7         Button btn=(Button)findViewById(R.id.button1);

 8         btn.setOnClickListener(new OnClickListener(){

 9             @Override

10             public void onClick(View arg0) {

11                 Intent intent=new Intent(MainActivity.this,OtherActivity.class);

12                 startActivityForResult(intent,1);   

13             }       

14         });

15            

16        

17     }

18     protected void onActivityResult(int requestCode,int resultCode,Intent data){

19         switch(requestCode){

20         case 1:

21         String result=data.getExtras().getString("result");

22         }

23     }   

24

25 }

 

OtherActivity.java

1 public class OtherActivity extends Activity {

 2     Button btn2;   

 3     /**

 4      * @param args

 5      */

 6     protected void onCreate(Bundle savedInstanceState) {

 7         super.onCreate(savedInstanceState);

 8         setContentView(R.layout.activity_other);

 9         Button btn2=(Button)findViewById(R.id.button2);

10         btn2.setOnClickListener(new OnClickListener(){

11

12             @Override

13             public void onClick(View arg0) {

14                 // TODO Auto-generated method stub

15                 Intent intent=new Intent();

16                 intent.putExtra("result", "hello world");

17                 OtherActivity.this.setResult(resultcode, intent);

18                 OtherActivity.this.finish();

19             }});

20     }

21 }

 

注:

 

1.请求码requestCodestartActivityForResult(intent,requestCode)onActivityResult(int requestCode,int resultCode,Intent data)中的requestCode为请求码, 它的作用是用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面 ActivityonActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那个按钮打开的,并且要做出 相应的业务处理。

 

2.结果码resultCode:在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activi tyonActivityResult(int requestCode, int resultCode, Intent data)方法。为了知道返回的数据来自于哪个新Activity,在onActivityResult()方法中可以这样做(Result ActivityNewActivity为要打开的新Activity)

 

PS:对于APP安全检测一般我都会用:www.ineice.com


浅析:Acitivity间数据的传递

标签:

原文地址:http://my.oschina.net/u/2455226/blog/508979

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!