Fragment 跳转到指定的Fragment 与 Activity跳转到指定的Fragment 的方法
发布日期:2021-06-30 08:02:17 浏览次数:3 分类:技术文章

本文共 1651 字,大约阅读时间需要 5 分钟。

Fragment 跳转到指定的Fragment 主要分为2中情况

1 同一个Activity上的Fragment 跳转到指定Fragment 例如MainActivity 上的Fragment 跳转问题

2 不在同一个Activity的2个Fragment 跳转

如果对Fragment 跳转问题没有思路,首先需要想到的就是Fragment 不可能独立存在的,它依附于Activity 

这样把Fragment的跳转想成Activity之间的跳转的问题就好处理了

下面已自己手写的demo为例 说下2中情况

第一种: 同一个Activity上的Fragment 跳转

他们都是在同一个Activity 可以是直接获取宿主的Activity

例如在跳转的Fragment里面获取,这个需要MainActivity的setTabSelection() 为public 方法

MainActivity main = (MainActivity) getActivity(); main.setTabSelection(2);

这里解释下 setTabSelection 这个就是点击底部切换Fragment的方法 例如微信底部界面,我的,发现之类的切换

第二种方法: 不再同一个Activity上的Fragment 切换

假如是TabLayout 下面的Fragment 跳转到MainActivity上的Fragment

需要我们可以先跳转Fragment 的宿主Activity 然后传递一个标志,当MainActivity 获取到标志的时候然后在切换就行了

例如Taylayout 的Fragment 里面填写如下

Intent intent = new Intent(getActivity(),MainActivity.class);                intent.putExtra("index",1);                startActivity(intent);

然后到MainActivity 里面接受index

int index = getIntent().getIntExtra("index", 0);        if (index == 1) {            setTabSelection(2);        }

大家都知道Intent 使用int 传递有默认值 这里设置为0 是因为模式启动界面自己设置为0 ,如果默认启动界面为1 这里自己设置1 即可 ,根据自己的需求设置

setTabSelection(2); 这个是自己写Fragment 切换的方法

如果是MainActivity 的Fragment 跳转的TabLayout 上的Fragment  道理是一样的,可以先跳转到TabLayout 的Activity 上然后

在设置地几个界面即可

例如 在MainActivity的Frament 上的代码如下

Intent intent = new Intent(getActivity(), DetailsActivity.class);                intent.putExtra("id", 2);                startActivity(intent);

在Tablayout 上的Activity 写入如下

int id = getIntent().getIntExtra("id", 0);        if (id == 2) {            viewPager.setCurrentItem(1);        }

使用setCurrentItem 来设置当前为那个Fragment 

Activity 跳转到指定的Fragment ,这个也是先跳转的Fragment的宿主的Activity 然后自己在根据需求

切换到相应的Fragment 即可。。。。 。。

转载地址:https://huxiaomu.blog.csdn.net/article/details/100275152 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Fragment 之间传递数据
下一篇:Tablayout 多个界面使用一个fragment 的实例

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月21日 20时16分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

[转]用"树莓派"打造一款智能音响(也许有点智障。。。) 2019-04-30
学习笔记(02):一学即懂的计算机视觉(第一季)-什么是视觉? 2019-04-30
学习笔记(03):一学即懂的计算机视觉(第一季)-第一个计算机视觉程序 2019-04-30
学习笔记(04):一学即懂的计算机视觉(第一季)-计算机视觉方向知识体系结构... 2019-04-30
学习笔记(05):一学即懂的计算机视觉(第一季)-学了视觉可以做什么 2019-04-30
学习笔记(06):一学即懂的计算机视觉(第一季)-有光即有世界:照明模型 2019-04-30
学习笔记(08):一学即懂的计算机视觉(第一季)-实战演练:颜色空间分解 2019-04-30
学习笔记(09):一学即懂的计算机视觉(第一季)-最浅显的卷积与滤波概念讲解!... 2019-04-30
学习笔记(10):一学即懂的计算机视觉(第一季)-图像平滑滤波与去噪 2019-04-30
学习笔记(11):一学即懂的计算机视觉(第一季)-数学形态学滤波 2019-04-30
学习笔记(12):一学即懂的计算机视觉(第一季)-实战演练:图像平滑滤波对比... 2019-04-30
学习笔记(14):一学即懂的计算机视觉(第一季)-Canny算子 2019-04-30
学习笔记(15):一学即懂的计算机视觉(第一季)-程序示例 2019-04-30
学习笔记(16):一学即懂的计算机视觉(第一季)-数学形态学扩展应用 2019-04-30
学习笔记(20):一学即懂的计算机视觉(第一季)-图像变换有什么用? 2019-04-30
学习笔记(21):一学即懂的计算机视觉(第一季)-灰度直方图 2019-04-30
学习笔记(22):一学即懂的计算机视觉(第一季)-霍夫变换 2019-04-30
学习笔记(23):一学即懂的计算机视觉(第一季)-图像变换实战演练 2019-04-30
学习笔记(26):一学即懂的计算机视觉(第一季)-为什么要图像分割? 2019-04-30
学习笔记(27):一学即懂的计算机视觉(第一季)-基于灰度直方图的阈值分割 2019-04-30