zoukankan      html  css  js  c++  java
  • 从0系统学Android-2.6Activity间数据传递

    本系列文章,参考《第一行代码》,作为个人笔记

    更多内容:更多精品文章分类

    声明

    2.3.4 向下一个 Activity 传递数据

    前面学习了使用 Intent 来启动一个 Activity ,其实 Intent 还可以用来启动 Activity 的时候传递数据。

    Intent 中提供了许多的 putExtra() 方法。可以将数据暂时存在 Intent 中,启动了另一个 Activity 后,只需要把数据从 Intent 中取出来就可以了。

    代码:

    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
    intent.putExra("extra_data","data");
    startActivity(intent);
      
    

    然后我们就可以在 SeconActivity 中取传递过来的数据了

    Intent intent = getIntent();
    String data = intent.getStringExtra("extra_data");
    
    

    2.3.5 返回数据给上一个 Activity

    Activity 中还有一个方法 startActivityForResult() 和这个方法也是用来启动 Activity 的。但是这个方法期望在 Activity 销毁的时候能够返回一个结果给上一个 Activity

    代码:

    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
    // 第一个参数就是 Intent ,第二个参数是请求码,请求码自己定义个数字就可以了
    startActivity(intent,1);
    

    在 SecondActivity 中代码:

    Intent intent = new Intent();
    intent.putExra("data","Hello");
    setResult(RESULT_OK,intent);
    finish();
    

    首先构建一个 Intent 用于向上一个页面传递数据。setResult() 方法是专门用于向上个页面传递数据的。有两个参数,第一个是 返回码(一般用 RESULT_OK 或者 RESULT_CANCELED 就可以了,也可以自己定义),第二个参数就是带有数据的 Intent。

    然后在返回的 Activity 中重写下面的方法

    @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
      
    }
    

  • 相关阅读:
    2017-4-6校内训练
    [BZOJ]1023: [SHOI2008]cactus仙人掌图
    [BZOJ]1086: [SCOI2005]王室联邦
    [BZOJ]1055: [HAOI2008]玩具取名
    [BZOJ]3527: [Zjoi2014]力
    [BZOJ]2820: YY的GCD
    【BZOJ3233】【tyvj1729】文艺平衡树
    【数据结构】【平衡树】无旋转treap
    【BZOJ2733】【HNOI2012】永无乡
    【BZOJ3224】【tyvj1728】普通平衡树
  • 原文地址:https://www.cnblogs.com/sydmobile/p/11756208.html
Copyright © 2011-2022 走看看