1.如果活动B要将数据返回给活动A,那么需要以下三步:

1.1在活动A中使用startActivityForResult()方法启动活动B。

1.2在活动B中使用setResult()方法传回Itent。

1.3在活动A中重写onActivityResult()方法。

2.在活动A中使用startActivityForResult()

 button1.setOnClickListener(new View.OnClickListener(){
            @Override
                public void onClick(View v){
                Toast.makeText(FirstActivity.this,"你点击了按钮一",Toast.LENGTH_SHORT).show();
                Intent intent=new Intent(FirstActivity.this,SecondActivity.class);

                startActivityForResult(intent,1);//注:第二个参数是请求码,用于之后活动A确认传回信息来源
                }
        });

3.在活动B中使用setResult()

button1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                Intent intent=new Intent();//使用无参构造创建一个Intent对象,使用无参的原因是当前不需要使用Intent来切换到另外一个活动
                intent.putExtra("data_return","这是来自B活动的信息,你好A" );//使用putExtra()放入要传回的信息
                setResult(RESULT_OK,intent);//第一个参数表示返回处理的结果,一般使用RESULT_OK,第二个参数是一个带传回数据的Intent
                finish();//销毁当前活动
            }
        });

4.在活动A中重写onActivityResult()

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch(requestCode){
            case 1://使用switch和requestCode判断信息是否来源于B
                if(resultCode==RESULT_OK){//判断返回结果是否成功
                    String returnedData=data.getStringExtra("data_return");//得到传回值,参数是之前活动B中起的名字
                    Log.d("FirstActivity",returnedData);//使用Log日志工具打印debug级别信息
                }
                break;
                default:

        }
    }

5.如果用户通过back键返回

这里要注意的是如果用户不是通过我们设置的按钮返回活动A,而是使用BACK键,那么只需要在活动B中重写onBackPressed()方法。

@Override
    public void onBackPressed() {
        Intent intent=new Intent();
        intent.putExtra("data_return","这是来自B活动的信息,你好A" );
        setResult(RESULT_OK,intent);
        finish();
    }

Android基础Activity篇——Intent返回数据给上一个活动的更多相关文章

  1. android中返回数据给上一个活动,可以用来回显数据

    (一)who简介:没错,就是startActivityForResult()方法,这个方法用来在活动被销毁的时候返回数据给上一个方法.参数说明: startActivityForResult(inte ...

  2. Android基础Activity篇——Intent向下一个活动传递数据

    1.向下一个活动传递数据 String data ="bilibilbilbilbili"; Intent intent1=new Intent(this,secondActivi ...

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

    1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launche ...

  4. 【Android】Intent的使用-返回数据给上一个活动

    第一个Activity  A启动另外一个Activity B,B返回数据给A ============================================================= ...

  5. 【转】Andorid中Intent的使用-返回数据给上一个活动

    第一个Activity  A启动另外一个Activity B,B返回数据给A ============================================================= ...

  6. Android基础Activity篇——Intent

    1.显式的Intent intent是用来各各活动之间切换的,还可以用来传递参数. 项目还是使用之前创建的ActivityTest项目,这里新建一个活动SecondActivity.java,并且勾选 ...

  7. Activity返回数据给上一个活动

    1.在A这个Activity中以startActivityForResult(intent, requestCode)启动B这个Activity 2.在B这个Activity中setResult(re ...

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

    1.向下一个activity传递数据 activity1 Button button=(Button) findViewById(R.id.button1); button.setOnClickLis ...

  9. Android基础Activity篇——其他隐式Intent

    1.使用隐式Intent调用浏览器 修改FirstActivity中的按钮点击事件代码. Intent intent=new Intent(Intent.ACTION_VIEW); intent.se ...

随机推荐

  1. js按回车事件提交

    $(document).keyup(function (event) { if (event.keyCode == "13") { document.getElementById( ...

  2. 6.House Robber(简单版抢银行)

    Level:   Easy 题目描述: You are a professional robber planning to rob houses along a street. Each house ...

  3. 前端优化系列之一:dns预获取 dns-prefetch 提升页面载入速度

    问题:怎么做到dns域解析?   用于优化网站页面的图片   问题:怎么提升网站性能? dns域解析,是提升网站的一个办法.   DNS Prefetch,即DNS预获取,是前端优化的一部分. 一般来 ...

  4. 江西财经大学第一届程序设计竞赛 H

    链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网 题目描述 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所 ...

  5. hdu3746 KMP-next数组的应用

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  6. css3 box-shadow 用法

    第1个值水平偏移值 第2个值垂直偏移值 第3个值设置对象的阴影模糊值 第4个值设置对象的阴影外延值 外阴影常规效果box-shadow:5px 5px rgba(0,0,0,.6); 外阴影模糊效果b ...

  7. ubuntu php 连接sql server

    1.下载最新的freetds ,访问 http://www.freetds.org/, 或者在 ubuntu上用 wget ftp://ftp.freetds.org/pub/freetds/stab ...

  8. vue(1)安装

    1.安装node.js(https://nodejs.org/en/),我安装的是 v10.15.1 1).在nodejs安装路径下,新建node_global和node_cache两个文件夹 2). ...

  9. Notepad++实用插件

    说明: Converter: 编码转换工具,ascii2hex,hex2ascii DoxyIt: 添加文件或者函数注释比较方便 DSpellCheck: 拼写检查 MIME Tools: 将Base ...

  10. android window(二)从getSystemService到WindowManagerGlobal

    在Activity调用getSystemService(WINDOW_SERVICE) 调用的是父类ContextThemeWrapper package android.view; public c ...