zoukankan      html  css  js  c++  java
  • android之startActivityForResult

    思想:

    普通intent直接启动一个activity, 调用startActivity方法

    然后 startActivityForResult这个方法会在调用完毕之后从后启动的activity中返回 一些结果给调用者,当然这个传递就得通过Intent的extra来传递了。
    下面对着具体的参数来看。

    活动A中:

    Intent intent = new Intent();

    intent.setClass(this,  B.calss);

    //这里还可以添加要传递给B的数据

    //比较小的数据直接传数据类型

    //比较多的话可以用bundle类来传递

    startActivityForResult(intent,  10);  //第二个参数叫requestcode , 大于等于0,相当于返回的时候一个标记。

    活动B中:

    1.   getIntent()得到Intent

    2.   通过Intent得到你想要得到的数据

    3.   然后通过调用setResult方法返回一个resultcode

    注意上面出现了 两个未知的的东西。   requestcode and resulecode

    在那里用到它们呢?  活动A中,因为是活动A需要活动B返回来的信息

    因此在A中实现一个方法

    onActivityResult(int requestCode, int resultCode, Intent data)

    两个都来了。 由requestcode确定是哪个acitivity返回的。resultCode确定返回的情况。Intent data就可以从它的extra里面获得数据了。

    OK 。 不明白的话再从网上找例程吧。

    另外还有很重要的一点,onActivityResult如何调用。 在恢复过来之后有两种情况

    1.  如果你的Activity还在的话  应该是  OnactivityResult  --->  Onstart  ---> Onresume,  如果是半屏的activity就是OnactivityResult ---> Onresume

    2.  如果Activity不在了,这种情况还没遇到过,没有调试出来。

  • 相关阅读:
    11.11 ntsysv:管理开机服务
    11.13 ethtool:查询网卡参数
    11.14 mii-tool:管理网络接口的状态
    11.15 dmidecode:查询系统硬件信息
    11.16-18 lsci、ipcs、ipcrm:清除ipc相关信息
    Devops 导论
    * SPOJ PGCD Primes in GCD Table (需要自己推线性筛函数,好题)
    SPOJ
    HDU 1695 莫比乌斯反演
    HDU 1800 hash 找出现最多次数的字符串的次数
  • 原文地址:https://www.cnblogs.com/hpf311/p/2565635.html
Copyright © 2011-2022 走看看