向上一个活动传递数据

实验名称:返回数据给上一个活动

实验现象:第二个活动按键点击进入第一个活动,出现Hello FirstActivity

使用技术:startActivityForReques方法、onActivityRequest()方法

步骤:

1、新建一个项目,创建主活动,加载布局,布置一个button

2、再次新建一个活动,加载布局,同时放置一个button

3、修改第一个活动的按键点击事件

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5. Button button=(Button) findViewById(R.id.button1);
  6. button.setOnClickListener(new View.OnClickListener(){
  7. @Override
  8. public void onClick(View v){
  9. Intent intent=new Intent(MainActivity.this,Main2Activity.class); //启动第二个活动
  10. startActivityForResult(intent,1); //启动这个intent,启动请求码是1
  11. }
  12. });
  13. }

4、修改第二个活动的按键点击事件

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main2);
  5. Button button2=(Button) findViewById(R.id.button2); //获得按键值
  6. button2.setOnClickListener(new View.OnClickListener() { //设置按键的监听事件
  7. @Override
  8. public void onClick(View view) { //按键点击事件
  9. Intent intent=new Intent(); //构建一个Intent
  10. intent.putExtra("data_return","Hello FirstActivity"); //数据内容
  11. setResult(RESULT_OK,intent); //向上一个活动返回数据
  12. finish(); //结束这个活动
  13. }
  14. });
  15. }

setResult()方法:接收2个参数,第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK或者RESULT_CANCELED这2个值。第二个参数一般则把带有数据的Intent传递回去。

5、在第一个活动的onActivityResult()方法中重写,得到返回的数据

  1. @Override
  2. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  3. switch(requestCode){
  4. case 1:
  5. if(resultCode==RESULT_OK){
  6. String returnedData=data.getStringExtra("data_return");
  7. Log.d("FirstActivity",returnedData);
  8. }
  9. break;
  10. default:;
  11. }
  12. }

onActivityResult()方法:带有3个参数,第一个参数是requestCode,即我们在启动活动时传入的请求码。第二个参数是resultCode,即我们在返回数据时传入的处理结果。第三个参数data,即携带者返回数据的Intent。

6、运行程序

附件列表

时间: 2024-10-21 22:35:10

向上一个活动传递数据的相关文章

向下一个活动传递数据

实验名称:向下一个活动传递数据 实验现象:点击主活动button,在进入第二个活动的时候会打印一行信息Hello SecondActivity 使用技术:Intent中的putExtra()方法的重载. 步骤: 1.创建一个项目,建立一个空的活动,加载布局,添加一个button. 2.再次创建一个空活动 3.修改button的单击事件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav

Intent(三)向下一个活动传递数据

向下传递活动很简单,可以我采用putExtra()方法的重载,把我们想要传递的数据暂时放在intent中,启动活动时从这里取就可以了. 首先我们在MainActivity(主活动)显式声明intent的方式来启动SecondActivity,通过PutExtra()方法来传递数据.注意该方法有两个参数,[keyName,vule]:第一个是行参,第二个才是实参: String str_info="putExtra传递数据"; Intent intent=new Intent(MainA

【Android】8.0 Intent向下一个活动传递数据、返回数据给上一个活动

1.0 Android是使用任务(Task)来管理活动的,活动就像栈一样堆放着在一起. 每个活动的生命周期最多可能会有四种状态: 1.1 运行状态 位于栈顶 1.2 暂停状态 不在栈顶但在界面上仍处于可见状态 1.3 停止状态 不位于栈顶,且在界面上不可见时 1.4 销毁状态 从返回栈中移除之后 2.0 Activity类定义了7个回调方法,覆盖了活动生命周期的每一个环节: 2.1 onCreate()  该方法最为常见了,活动一创建自动有,每个活动都会重写这个方法.  负责活动的初始化操作,比

Android第一行代码学习笔记六---Intent向活动传递数据

@1.向下一个活动传递数据: Intent提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动了另一个活动后,只需把这些数据再从Intent中取出就可以了,比如firstActivity中有一个字符串要传递到secondActivity中,修改firstActivity中按钮点击事件,代码可以这样编写: button.setOnClickListener(new View.OnClickListener() { public void onClick(V

Android开发:向下一个activity传递数据,返回数据给上一个activity

1.向下一个activity传递数据 activity1 1 Button button=(Button) findViewById(R.id.button1); 2 button.setOnClickListener(new OnClickListener() { 3 4 @Override 5 public void onClick(View v) { 6 Intent intent=new Intent("1111111111111111111"); 7 intent.addCa

Andriod:一个Activity向另一个Activity传递数据

假设现在有两个Activity:A与B,A要向B传递数据. 首先要创建两个Activity:Android:当前Activity跳转到另一个Activity A启动B: intent = new Intent(ActivityA.this,ActivityB.class); startActivity(intent); A启动B 并向B传递数据 多了一行 绑定数据 intent = new Intent(ActivityA.this,ActivityB.class); intent.putExt

返回数据给上一个活动

我们都知道,android开发中一个活动跳转时是可以带数据传递给下一个活动的,那么能不能够返回数据给上一个活动呢?答案是肯定的.不过不同的是,返回上一个活动只需要按一下Back键就可以了,并没有一个用于启动活动Intent来传递数据.通过查阅文档你会发现,Activity中还有一个startActivityForResult()方法也是用于启动活动的,但这个方法期望在活动销毁的时候能返回一个结果给上一个活动.毫无疑问,这就是我们所需要的. startActivityForResult()方法接收

Andoid Intent学习之在各个活动之间传递数据

Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求. 1.使用Intent向下一个活动传递数据 在activity_main.xml中添加一个Button <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android学习之Intent传递数据

Intent在Activity中的作用主要是有两个: 1.启动目标Activity 2.传递数据 Intent在传递数据时分两种情况:向下一个Activity传递数据和从下一个Activity返回数据. 一.向下一个Activity传递数据主要是利用Intent作为“信使”来调用, 原Activity需要创建一个intent,并用putExtra(键,值)方法向intent中放入需要传递的信息,然后启动. public void onClick(View view){ String msg =