startActivityForResult( )用法

  一、与startActivity( )的不同之处

    1, startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
    2, startActivityForResult( ) 可以一次性完成这项任务,当程序执行到这段代码的时候,页面会跳转到下一个Activity, 而当这个Activity被关闭以后(this.finish()),程序会自动跳转会第一个Activity,并调用前一个Activity的onActivityResult( )方法。

  二、用startActivityForResult来传递数据

    1、A 到 B

      static final int RG_REQUEST = 0; //判断回调函数的值

       Intent intent = new Intent();
intent.setClass(A.this, B.class);

       startActivityForResult(intent,RG_REQUEST);

    2、在 B 中处理

         Bundle bundle = new Bundle();

      bundle.putString("DataKey", edittext.getText().toString());//给 bundle 写入数据

      Intent mIntent = new Intent();

      mIntent.putExtras(bundle);

      setResult(RESULT_OK, mIntent);

      finish();

    3、最后在 A 的回调函数里面接收数据

      if (requestCode == RG_REQUEST)

      {

         if(resultCode == RESULT_OK)

          {

             setTitle((String)data.getCharSequenceExtra("DataKey"));

           }

      
}

时间: 2024-10-14 14:21:00

startActivityForResult( )用法的相关文章

【数据】Activity数据返回——startActivityForResult()用法详解

上一节我以"计算男女生标准体重"为例详细介绍了如何使用Intent.Bundle等实现不同Activity之间数据的传递问题,本节将仍以"计算男女生标准体重"为例详细介绍如何利用startActivityForResult()实现数据的返回,即从第二页面返回第一页面. 一.目标 如下图,用户在第一个页面填写完数据后点击"计算"按钮,程序跳转到第二个页面,并显示计算结果.在用户点击第二个页面的"返回计算结果"按钮后,程序跳转回第

startActivityForResult用法详解

一.如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法. package c

安卓startActivityForResult用法

startActivityForResult的作用就是它可以回传数据,假如我们有两个页面A和B,点击A页面的一个按钮,进入下一个页面B,进入页面B后,进行设置操作,并在finish()或者back后,将B中设置的值回传给A页面,A页面来显示所得到的值.有点像回调方法,在第二个页面finish()后会回调第一个页面onActivityResult()方法.代码如下: 在A页面 点击一个按钮进入B A页面代码: Intent intent = new Intent();intent.setClass

startActivityForResult用法

使用场景: A界面(activity) 可跳转到一个(假设为 B)或多个子Activity,要求B处理完工作之后返回A 界面,或许同时返回一些数据交给A继续处理.如 由登陆界面A跳转到注册界面B,注册成功后由注册界面返回到登陆界面A,同时将新注册的账号带到登陆界面A,并将其填充到用户账号输入框,方便用户登陆. //主界面中启动子模块 startActivityForResult(Intent intent, Int requestCode) //主界面A中接收返回数据 onActivityRes

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

Android activity之间的跳转和数据传递

1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtra("tn",tn); intent.putExtra("payMode",payMode); context.startActivity(intent); B activity接收数据 protected void onCreate(Bundle savedInsta

Android Tips – 填坑手册

出于: androidChina   http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,我遇到的坑都顺利地被填平了. 为了便于日后遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了. 如果你是个 Android 新人,那么我希望这份列表,可以成为你踩到坑时的不完全手册. 当然,这份列表一定会有遗漏

Andorid学习笔记(ADT)-startActivity和startActivityForResult的用法

startActivity的用法 startActivity同时用在Button按钮的onClickListener中 在第一个activity(A)文件中: //写在onClickListener方法中 public void onClick(View v){ Intent intent = new Intent(); //使用Intent类的构造方法创建一个intent对象 intent.setClass(A.this,B.class);//设置intent的意图,表示从A跳转到B star

startActivityForResult的用法(Android)

1.第一个页面的activity.java package cn.buaa.z1; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; public class MainActivity extends AppCompatA