【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);
}
目录
相关文章
|
2月前
|
Android开发
Android 中Fragment和Activity之间的通信
Android 中Fragment和Activity之间的通信
20 0
|
2月前
|
Android开发
Android 中使用RadioGroup+Fragment实现底部导航栏的功能
Android 中使用RadioGroup+Fragment实现底部导航栏的功能
22 0
|
3月前
|
Android开发 容器
Android上机实验-6 Fragment的使用
Android上机实验-6 Fragment的使用
23 1
|
4月前
|
Java Android开发 容器
Android实战开发--小慕笔记UI设计(Fragment布局的使用)
Android实战开发--小慕笔记UI设计(Fragment布局的使用)
Android实战开发--小慕笔记UI设计(Fragment布局的使用)
|
5月前
|
XML Android开发 数据格式
Android 底部导航栏(四、ViewPager+RadioGroup+Fragment)简单易懂
底部导航栏在Android应用中随处可见,今天使用ViewPager+RadioGroup+Fragment这三个控件来实现此功能。前面写了有三种实现方式,有兴趣可以去看看
|
5月前
|
XML Android开发 数据格式
Android 底部导航栏(三、ViewPager+TabLayout+Fragment)简单易懂
底部导航栏在Android应用中随处可见,今天使用ViewPager+TabLayout+Fragment这三个控件来实现此功能。 前面使用了另外两个方法来实现导航栏,不过我还是更喜欢Viewpager,代码也少,毕竟前两个不能左右滑动。
|
5月前
|
XML Android开发 数据格式
Android 底部导航栏(二、自定义View+Fragment)
上一片文章用的是BottomNavigationView+Menu+Fragment,但是可能有时候需求不一样,menu的样式不太够,所以需要自定义View来实现。
|
5月前
|
图形学 Android开发
Android Navigation获取栈顶Fragment
由于项目底层是Unity,在上层切换Activity时,下面的unity界面会暂停,界面不能刷新,会有很多问题,于是我们就想到了Activity App,那么就想到了使用JetPack的Navigation来统一管理Fragment之间的跳转。
|
9月前
|
Android开发
android 通用是框架,对导航栏和fragment的封装
android 通用是框架,对导航栏和fragment的封装
android 通用是框架,对导航栏和fragment的封装
|
9月前
|
Android开发 容器
Android实现面包屑效果,支持Fragment联动
Android实现面包屑效果,支持Fragment联动
相关产品
云迁移中心
推荐文章
更多