【Android】Fragment跳转Activity时携带数据

简介: 在网上你可以看到很多Fragment都是用接口回调来携带数据跳转到Activity。我觉得好麻烦,于是你们可以用我下面的方法而我们可以直接使用下面这个方法:

在网上你可以看到很多Fragment都是用接口回调来携带数据跳转到Activity。

我觉得好麻烦,于是你们可以用我下面的方法

而我们可以直接使用下面这个方法:


protected void startActivity(Bundle bundle, Class<?> cls) {
  Intent intent = new Intent(getActivity(), cls);
  intent.putExtras(bundle);
  //resolveActivity是Intent类里面方法
  if (intent.resolveActivity(getActivity().getPackageManager()) != null)
  //那这里面是什么呢?
    startActivity(intent);
}


点进去会发现这个地方才是具体实现的startActivity的地方。


//此类继承了Fragment类,重写Fragment类的startActivity方法
@Override
public void startActivity(Intent intent) {
    if (intent == null) {
        PageLog.e("[startActivity failed]: intent == null");
        return;
    }
    if (CoreConfig.getContext().getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
        try {
            //再点进这个父类的方法,是什么呢?
            super.startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
            PageLog.e(e);
        }
    } else {
        PageLog.e("[resolveActivity failed]: " + (intent.getComponent() != null ? intent.getComponent() : intent.getAction()) + " do not register in manifest");
    }
}


此处就是最普通的startActivity方法了,上面的都是在这个startActivity方法的基础上进行"加工"。


//位于Fragment类中
public void startActivity(Intent intent) {
    this.startActivity(intent, (Bundle)null);
}
目录
相关文章
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
1745 4
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
814 11
|
存储 XML Java
Android 文件数据储存之内部储存 + 外部储存
简介:本文详细介绍了Android内部存储与外部存储的使用方法及核心原理。内部存储位于手机内存中,默认私有,适合存储SharedPreferences、SQLite数据库等重要数据,应用卸载后数据会被清除。外部存储包括公共文件和私有文件,支持SD卡或内部不可移除存储,需申请权限访问。文章通过代码示例展示了如何保存、读取、追加、删除文件以及将图片保存到系统相册的操作,帮助开发者理解存储机制并实现相关功能。
3256 2
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1186 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
Android开发 开发者 容器
android FragmentManager 删除所有Fragment 重建
通过本文,我们详细介绍了如何使用 `FragmentManager`删除所有Fragment并重建。通过理解和应用这些步骤,可以在实际开发中更灵活地管理Fragment,满足各种应用场景的需求。希望本文能帮助开发者更好地掌握Fragment管理技巧,提高应用开发效率和代码质量。
367 8
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
460 6
|
程序员 开发工具 Android开发
Android|WebView 禁止长按,限制非白名单域名的跳转层级
如何限制 WebView 仅域名白名单网址能随意跳转,并禁用长按选择文字。
701 2
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
468 0
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
3710 54
|
Android开发
Android 中Fragment和Activity之间的通信
Android 中Fragment和Activity之间的通信
215 0

热门文章

最新文章