1. package com.example.testactivityresquest;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.Toast;
  10.  
  11. public class MainActivity extends Activity {
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17.  
  18. Button btn = (Button) findViewById(R.id.button1);
  19. btn.setOnClickListener(new OnClickListener() {
  20.  
  21. @Override
  22. public void onClick(View v) {
  23.  
  24. Intent intent = new Intent(MainActivity.this, Activityb.class);
  25. int[] nums = { 15, 15 };
  26. intent.putExtra(Changliang.KEY, nums);
  27. //有别于startActivity,如果启动的其他Activity多了以后。相当于定一个特定KEY值,返回根据KEY值返回。
  28. startActivityForResult(intent, Changliang.requestCode);
  29.  
  30. }
  31. });
  32. }
  33. //Activityb传回来的数据在这个方法中获取
  34. @Override
  35. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  36.  
  37. int s = data.getIntExtra(Changliang.Activity_b_KEY, 1);
  38.  
  39. Toast.makeText(getApplicationContext(), "传递两个数得到的和是:" + s, 1).show();
  40.  
  41. }
  42.  
  43. }
  1. package com.example.testactivityresquest;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.Toast;
  10.  
  11. public class Activityb extends Activity {
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activityb);
  17.  
  18. Intent intent = this.getIntent();
  19. int[] n = intent.getIntArrayExtra(Changliang.KEY);
  20.  
  21. final int nums = n[0] + n[1];
  22.  
  23. Toast.makeText(this, n[0] + " " + n[1], 1).show();
  24.  
  25. Button btn = (Button) findViewById(R.id.button2);
  26. btn.setOnClickListener(new OnClickListener() {
  27.  
  28. @Override
  29. public void onClick(View v) {
  30.  
  31. Intent intent1 = new Intent(Activityb.this, MainActivity.class);
  32.  
  33. intent1.putExtra(Changliang.Activity_b_KEY, nums);
  34. // 将数据根据特定键值的意图事件导入
  35. Activityb.this.setResult(Changliang.requestCode, intent1);
  36. //关闭后返回主Activity
  37. Activityb.this.finish();
  38.  
  39. }
  40. });
  41. }
  42.  
  43. }
  1. package com.example.testactivityresquest;
  2.  
  3. public class Changliang {
  4.  
  5. public static final String KEY="key";
  6.  
  7. public static final String Activity_b_KEY="key1";
  8.  
  9. public static final int requestCode=1987;
  10.  
  11. }

xml文件:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="#ff0000" >
  6.  
  7. <Button
  8. android:id="@+id/button1"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:layout_alignParentTop="true"
  12. android:layout_centerHorizontal="true"
  13. android:layout_marginTop="88dp"
  14. android:text="启动Activityb" />
  15.  
  16. </RelativeLayout>
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="#00ff00"
  6. android:orientation="vertical" >
  7.  
  8. <Button
  9. android:id="@+id/button2"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:text="返回Activity" />
  13.  
  14. </LinearLayout>

别忘在AndroidManifast中注册activityb。

运行效果图:

两个activity之间传递数据用startActivityForResult方法。的更多相关文章

  1. Activity之间传递数据的方式及常见问题总结

    Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) ...

  2. Activity之间传递数据或数据包Bundle,传递对象,对象序列化,对象实现Parcelable接口

    package com.gaojinhua.android.activitymsg; import android.content.Intent; import android.os.Bundle; ...

  3. Android 笔记-Fragment 与 Activity之间传递数据

    Fragment 与 Activity之间传递数据有两种方法.一种是使用setArgument,一种是使用接口回调.以下先学习第一种方法. (1)使用setArgument方法: 为了便于理解,我在这 ...

  4. 28、activity之间传递数据&批量传递数据

    import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android ...

  5. 【Android 复习】 : Activity之间传递数据的几种方式

    在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...

  6. 在activity之间传递数据

    在activity之间传递数据 一.简介 二.通过intent传递数据 1.在需要传数据的界面调用 intent.putExtra("data1", "我是fry&quo ...

  7. 用WM_COPYDATA消息来实现两个进程之间传递数据

    文着重讲述了如果用WM_COPYDATA消息来实现两个进程之间传递数据. 进程之间通讯的几种方法:在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯.常用的方法有   1.使用内存映射 ...

  8. 【转】 android之如何在两个activity之间传递handler_利用broadcast广播机制

    原文:http://blog.csdn.net/jason0539/article/details/18075293 这算是如何在两个activity之间传递handler的解决方案二了,解决方案一见 ...

  9. 两个Activity之间共享数据、互相访问的另一种方式的实现

    本帖最后由 勇敢的心_ 于 2010-9-29 11:51 编辑 本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可 ...

随机推荐

  1. iOS - UISlider

    前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UISlider : UIControl <NSCoding> @a ...

  2. [转发] 老叶观点:MySQL开发规范之我见

    原文: http://imysql.com/2015/07/23/something-important-about-mysql-design-reference.shtml 老叶观点:MySQL开发 ...

  3. MongoDB学习 (六):查询

    本文地址:http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html  欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 本文将介绍操作符的使用 ...

  4. poj1556The Doors

    链接 枚举两点 若不和任何线段相交 建边为dis(i,j) floyd求最短路 #include <iostream> #include<cstdio> #include< ...

  5. C# winform解决解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题

    public frmMain() { InitializeComponent(); //解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题 int x = Convert.ToInt32(( ...

  6. D3.js 交互式操作

    与图表的交互,指在图形元素上设置一个或多个监听器,当事件发生时,做出相应的反应. 一.什么是交互 交互,指的是用户输入了某种指令,程序接受到指令之后必须做出某种响应.对可视化图表来说,交互能使图表更加 ...

  7. 20160815_Redis安装

    OS: CentOS6.4(x64) 参考网址: http://www.cnblogs.com/haoxinyue/p/3620648.html http://www.codeceo.com/arti ...

  8. android textview段落开头空格问题

    textview中段落开头一般都会空2格排版显示,如果靠编辑空格来解决那就大错特错了,完美的解决方法就是用转义字符"\t",在段首加\t\t就解决啦!

  9. 自定义view获取宽高

    View在构造函数初始化并未布局处理,此时宽高均为0,待所有控件初始化完毕后,由上级容器对内部各控件进行布局,此时控件才会具有位置与大小属性,可以通过以下方法获取:1.在ondraw()函数中获取,2 ...

  10. iOS开发 返回字符串的宽高

    - (CGFloat)achiveWidthWithHeight:(CGFloat)height Font:(UIFont *)font { CGSize size = [self boundingR ...