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. spring中使用缓存

    一.启用对缓存的支持 Spring 对缓存的支持最简单的方式就是在方法上添加@Cacheable和@CacheEvict注解, 再添加注解之前,必须先启用spring对注解驱动的支持,基于java的配 ...

  2. [SCOI2007]蜥蜴 BZOJ1066 最大流

    题目背景 07四川省选 题目描述 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴 ...

  3. kuangbin专题七 HDU1754 I Hate It (单点修改维护最大值)

    很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有 ...

  4. Bootstrap FileInput 上传 中文 API 整理

    Bootstrap FileInput 上传  中文 API 整理 上传插件有很多 但是公司用的就是 Bootstrap FileInput 自己就看了看  会用就行 自己都不知道每个值是干嘛用的就问 ...

  5. Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序

    结论:执行的大致顺序如下, (1) 在一个不存在继承的类中:初始化static变量,执行static初始化块-->初始化普通成员变量(如果有赋值语句),执行普通初始化块-->构造方法 (2 ...

  6. kafka删除主题数据和删除主题

    1.删除主题 在server.properties中增加设置,默认未开启 delete.topic.enable=true 删除主题命令 /bin/kafka-topics --delete --to ...

  7. ssis error at other ssis.pipeline "ole db destination" failed validation and returned validation status

    我在修改一个ssis的包,发现这个destination的表被改过了.所以就重建了表.就导致了这个错误. 打开包重新检查下表结构的匹配就好了

  8. junit使用中的一些问题

    之前开发过程中的测试,不是使用main方法,就是启动项目调用地址,尤其是后者,测试起来非常不方便,今天配置了下junit,中间遇到些问题,记录如下. 首先下载spring-test.jar包和juni ...

  9. powerdesigner 遇到的各种问题总结

    1. 设置自增 打开表 -- 在具体列的前面双击即可添加各种属性 2. 生成sql 时设置编码 database --> generate database --> format --&g ...

  10. axios处理http请求

    axios中文文档 https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format  axios文档 ...