代码如下:

 package com.zzw.teststartintentforrequest;

 import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView; public class MainActivity extends Activity { private final int REQUESTCODE_MAIN = 1; private final String KEY_MAIN = "key_main";
private final String KEY_B = "key_b"; private TextView textView; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView_main); findViewById(R.id.button_main).setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ActivityB.class);
int a=(int) (Math.random()*100);
int b=(int) (Math.random()*100);
int[] nums = { a, b };
intent.putExtra(KEY_MAIN, nums);
startActivityForResult(intent, REQUESTCODE_MAIN);
}
});
} @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data!=null){
Log.d("-------", "requestCode:"+requestCode+" resultCode:"+resultCode);
textView.setText(data.getIntExtra(KEY_B, 0)+"");
}
}
}

MainActivity.java

 package com.zzw.teststartintentforrequest;

 import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView; public class ActivityB extends Activity { private final int RESULTCODE_B=2; private final String KEY_MAIN="key_main";
private final String KEY_B="key_b"; private TextView textView; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activityb); textView=(TextView) findViewById(R.id.textView_B); int nums[]=this.getIntent().getIntArrayExtra(KEY_MAIN); final int sum=nums[0]+nums[1]; textView.setText(nums[0]+"+"+nums[1]+"="+sum); findViewById(R.id.button_B).setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
Intent intent=new Intent(ActivityB.this,MainActivity.class);
intent.putExtra(KEY_B,sum);
ActivityB.this.setResult(RESULTCODE_B, intent);
ActivityB.this.finish();
}
});
} }

ActivityB.java

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_blue_light"
tools:context="com.zzw.teststartintentforrequest.MainActivity" > <TextView
android:id="@+id/textView_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="0"
android:textColor="@android:color/holo_red_light"
android:textSize="30sp" /> <Button
android:id="@+id/button_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="38dp"
android:background="@android:color/holo_blue_light"
android:text="点击跳转AcyivityB"
android:textColor="@android:color/holo_red_light" /> </RelativeLayout>

activity_main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
tools:context="com.zzw.teststartintentforrequest.MainActivity" > <TextView
android:id="@+id/textView_B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="@android:color/white"
android:textSize="30sp" /> <Button
android:id="@+id/button_B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:background="@android:color/black"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="38dp"
android:text="点击返回MainAcyivity" /> </RelativeLayout>

activityb.xml

两个Activity之间的交互startActivityForResult的使用的更多相关文章

  1. 如何实现两个Activity 之间如何通讯

    <转> 今天主要学习了Activity 组件,在这里作一下总结 1,学习如何创建Activity 创建 Activity 要点: (1) 一个Activity就是一个类,并且这个类要继承A ...

  2. Android中两个Activity之间简单通信

    在Android中,一个界面被称为一个activity,在两个界面之间通信,采用的是使用一个中间传话者(即Intent类)的模式,而不是直接通信. 下面演示如何实现两个activity之间的通信. 信 ...

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

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

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

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

  5. Android中Fragment与Activity之间的交互(两种实现方式)

    (未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...

  6. 两个 Activity 之间跳转时必然会执行的是哪几个方法?

    一般情况下比如说有两个 activity,分别叫 A,B,当在 A 里面激活 B 组件的时候, A 会调用 onPause()方法,然后 B 调用 onCreate() ,onStart(), onR ...

  7. 两个activity之间传递数据用startActivityForResult方法。

    package com.example.testactivityresquest; import android.app.Activity; import android.content.Intent ...

  8. Axure的中继器如何实现两个列表之间的交互

    Axure RP 8安装包+注册码+中文语言包下载地址如下: 链接: https://pan.baidu.com/s/1nwRnCUl 密码: yy36 将中文语言包下的lang文件夹直接放在安装Ax ...

  9. Android两个Activity之间的数据交换

    1. 不带数据 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS ...

随机推荐

  1. IOS plist轻量级操作

    plist,全名PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件.这种文件,在ios开发过程中经常被用到.这种属性列表文件的扩展名为.plist,因此通常被叫做plist ...

  2. 杂乱无章之Oracle(二)

    六.IMPDP用法 1.导入表 impdp hsiufo/hsiufo directory=dump_dir dumpfile=full.dmp tables=scott.emp remap_sche ...

  3. iphone 手机屏幕和UIView和UIWindowde 的主要的区别

    在iPhone5之前的iphone1,2,3,3s,4,4s都是320x480 iPhone5和5s的屏幕是320x568 iphone6的屏幕是375x667 iPhone6Plus的414x736 ...

  4. sql server小技巧-自动添加时间与主键自增长

    在敲机房收费系统的时候,遇到添加时间的时候总是通过vb端调用当前时间再添到sql server中,期间还有时因为添加时间格式的不统一导致一些小问题,现在才知道原来是自己孤陋寡闻,sql server ...

  5. 获取IOS bundle中的文件

    在xcode中选择bundle中的文件,右键Show in Finder即可拷贝或删除文件.

  6. 【转】jmeter 进行java request测试

    本周使用jmeter进行一个远程dubbo接口的性能测试,因为没有访问页面,本来开发可以写一个页面,进行http请求的调用,不过已经看到jmeter可以直接对java request进行测试,所以尝试 ...

  7. Part 10 AngularJS sort rows by table header

    Here is what we want to do 1. The data should be sorted when the table column header is clicked 2. T ...

  8. ORACLE 数据库概述以及Oracel数据库的安装、卸载、使用

    一:Orcale简介 1.发展史 1978年,Orcale诞生 1982年,Orcale3推出了,它是第一个能够运行在大型机和小型机上的关系型数据库 1997年,Orcale公司推出了基于java语言 ...

  9. shell命令getopts解析

    getopts是一条获取和处理命令行选项的语句,格式为getopts option_string variable .其中option_string中包含一个有效的单字符选项,若getopts命令在命 ...

  10. asp.net ajax 调用错误解决

    ajax调用aspx页面出现如下错误 前台源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...