zoukankan      html  css  js  c++  java
  • Android开发 Fragment启动Activity在使用onActivityResult的一些问题

    前言

      主要记录2个问题:

      1.在Fragment里启动某个Activity后在返回,希望从Fragment下的onActivityResult获取数据,但是不执行的问题。

      2.在Fragment里启动某个Activity后在返回,希望从Fragment的根Activity下的onActivityResult获取数据,但是requestCode返回的是随机值。

    第一个问题  Fragment下的onActivityResult获取数据,但是不执行的问题

    1.首先在Fragment启动Activity时需要使用,Fragment自带的startActivityForResult()方法不能使用getActivity()的startActivityForResult()

    Intent intent = new Intent(getContext(), AddActivity.class);
    startActivityForResult(intent, 1);

    2.如果有在Activity里重写onActivityResult,那么一定要实现super.onActivityResult(requestCode, resultCode, data);否则Fragment的onActivityResult会无法接收到数据

    第二个问题  Fragment的根Activity下的onActivityResult获取数据,但是requestCode返回的是随机值

    原因是你在Fragment里启动目标Activity时,使用了Fragment自带的startActivityForResult,这里应该使用getActivity()的startActivityForResult(),如下

    在Fragment里:

    Intent intent = new Intent(getContext(), AddActivity.class);
    getActivity().startActivityForResult(intent, 1);

    End

    onActivityResult
  • 相关阅读:
    interpolator-动画执行方式
    获得手机屏幕的宽度
    theme-windowAnimationStyle 动画四个方法的意义
    viewPager-基本实现示例
    ontouch、dispatchtouchevent、interceptouchevent-相关事件
    eclipse- log 打印跟输出到文件
    item-设置可见性
    touch、touchevent-事件总结
    005-磁盘读写原理
    004-双向链表
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/14549027.html
Copyright © 2011-2022 走看看