根据方法名可知 这个方法是要得到启动后的Activity返回的数据; 如A 启动了 B ; 那么就是得到B中返回的数据;
1:A
package org.zhou.test.start;
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.Button;
public class StartActivityForResultActivity extends Activity implements OnClickListener {
private Button start;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
start = (Button)findViewById(R.id.start);
start.setOnClickListener(this);
}
public void onClick(View v) {
if(v == start) {
Intent intent = new Intent();
intent.putExtra("key", "Say Hello");
intent.setClass(StartActivityForResultActivity.this, NextActivity.class);
startActivityForResult(intent,123211);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
//接收返回来的数据
if(resultCode == 34901) {
Log.i("Infos", "request:"+requestCode);
Log.i("Infos", "value:"+data.getStringExtra("key"));
}
}
}
2: B
package org.zhou.test.start;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class NextActivity extends Activity implements OnClickListener {
private Button next;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
next = (Button)findViewById(R.id.next);
next.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(next == v) {
Intent intent = new Intent();
intent.putExtra("key", "values This is good");
intent.setClass(NextActivity.this, StartActivityForResultActivity.class);
this.setResult(34901, intent);
finish();
}
}
}
这里的requestCode就是前面的123211 而resultCode就是34901 这样就可以达到接收唯一的指定的数据了
分享到:
相关推荐
Android之Intent通过startActivityForResult方法启动新Activity
StartActivityForResultHelper 一个轻巧的,用于解耦startActivityForResult方法的库
资源为http://blog.csdn.net/yiming_8988/article/details/51476499示例
关于startActivity被大家忽略的 Fragment中的startActivityForResult方法
3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)
主要介绍了android开发教程之startActivityForResult使用方法,需要的朋友可以参考下
android startActivityForResult的使用方法介绍,需要的朋友可以参考一下
在Activity的四种不同的启动模式下,对于startActivityForResult方法的影响。什么时候可以收到回传数据。
主要介绍了基于startActivityForResult方法处理两个Activity之间数据传递问题的相关资料,需要的朋友可以参考下
而且要从Activity中返回数据,虽然返回数据和传递数据类似,也可以采用前面4种方法,但是一般建议采用Intent对象的方式来返回数据,使用这种方式返回数据,需要使用startActivityForResult方法来显示Activity ...
关于Activity类中startActivityForResult方法用法的例子
Activity之间传值的小demo,主要使用了Intent和Bundle对象,和startActivityForResult方法
citypicker Android Studio实现 前言 在实际的项目中需要使用到省市区三级联动的功能,在网上...列表选择器的原理主要就是通过startActivityForResult方法来实现的,如果不熟悉startActivityForResult的应用,请自行解
页面跳转与数据回传,跳转方法startActivityForResult的使用与返回数据的处理。
Fragment也可以使用startActivityForResult方法去打开一个Activity,然后在其onActivityResult方法中处理结果,可是当Fragment嵌套的时候,由于FragmentActivity的BUG导致只会回调最外那层Fragment的...
但代码里还有被注释掉的startActivityforResult方法 + toast方法,用这个可以完美解决非当前用户传递消息如何处理消息的过程。 2.连上局域网,就会自动搜人,搜到当前在线用户会发送消息给他,让当前在线用户知道...
一、Intent的用途 Intent主要有以下几种重要用途: 1. 启动Activity:可以将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个...关于使用startService()方法启动Service,可以参见《An
理解Activity的生命周期以及各个生命周期方法的使用。掌握页面切换的两种方法。 【实践要求】 1.理解Activity的组成结构和创建过程; 2.了解Activity的生命周期; 3.掌握Activity页面切换方法。 【任务和结果】 1....