Acitivity间数据的传递

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

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

   
 
时间: 2024-09-27 23:36:25

Acitivity间数据的传递的相关文章

浅析:Acitivity间数据的传递

使用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        

ASP.NET MVC5中View-Controller间数据的传递

使用ASP.NET MVC做开发时,经常需要在页面(View)和控制器(Controller)之间传递数据,那么都有哪些数据传递的方式呢? 本文对于View向Controller中传值共列举了以下几种方式: QueryString RouteData Model Binding Form 使用和Action参数同名的变量进行传递 Cookie 对于Controller向View中传值则列举了以下几种方式: 单个值的传递 Json 匿名类型 ExpandoObject ViewBag.ViewDa

代理---视图间数据的传递:标签显示输入的内容【多个视图中】

RootViewController.h #import "ModalViewController.h" @interface RootViewController : UIViewController<ModalViewDelegate> RootViewController.m @interface RootViewController () @end @implementation RootViewController { ModalViewController *m

通知---视图间数据的传递:标签显示输入的内容【多个视图中】

RootViewController.m - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { //注冊通知 [[NSNotificationCenter defaultCenter] addObserver:self selec

单例---视图间数据的传递:标签显示输入的内容【多个视图中】

RootViewController.m - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor greenColor]; //创建显示文字的label UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 40)]; label.tag = 102; label.backgroundColor = [

KVO---视图间数据的传递:标签显示输入的内容【多个视图中】

RootViewController.m #import "ModalViewController.h" @interface RootViewController () @end @implementation RootViewController { ModalViewController *modalCtrl; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {

WPF,Silverlight与XAML读书笔记第十五 - 页间导航 页间数据传递

?说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 导航 有关导航的话题在介绍NavigationWindow与Page等元素时有提及.这篇文章将详细分析导航相关话题.同其它话题,针对WPF,Silverlight与WP 7,导航特性大致相似又有着些许不同.在介绍此特性时相同的特性将合在一起,每个框架独有的特性也将独立介绍并有明显标识. 导航的功能及目的就是从一个页面转向另一个页面,可能是前进亦或是后

详细介绍ASP.NET页面间数据传递的使用方法

在ASP.NET中,页面间数据传递的方法有很多.下面为大家总结一下,页面间数据传递的方法. Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在 用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 一.ASP.NET页面间数据

ASP.NET页面间数据传递的方法

本文我们将讨论的是asp.net页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法