Activity跳转到指定Fragment实例

Activity跳转到指定Fragment实例最近做的一个项目,突然出现了这个问题,Activity中有四个fragment,分别是first,two,three,four,默认显示的是fragmenta。在开发过程中,first中跳转到另一个Activity,将这个外部Activity命名为B吧…我需要从first中跳转到B中,完成一些设置,然后再从B中的返回按钮回到three,three中也有一个viewpa

大家好,又见面了,我是你们的朋友全栈君。

    最近做的一个项目,突然出现了这个问题,
    Activity 中有四个fragment,分别是 first, two, three, four,默认显示的是fragment a。在开发过程中,first中 跳转到另一个Activity ,将这个外部Activity命名为B吧...

我需要从first中跳转到B中,完成一些设置,然后再从B中的返回按钮回到three,three中也有一个viewpager(1,2,3),需要跳转到3。但是使用startActivity()方法的结果是:可以实现从first到B的跳转,但是从B跳到three出现了错误。苦思冥想一整天,找了好多博客试了也没有解决。第二天早上灵光一闪,改了几个值,突然就跑通了。下面就分享一下这个案例。
首先是在B的跳转到Activity,不多解释,直接上代码

      button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i=new Intent();
            i.setClass(BActivity.this, Activity.class);
            //一定要指定是第几个pager,因为要跳到ThreeFragment,这里填写2
            i.putExtra("id",2);
            startActivity(i);
        }
    });


跳转之后就是在Activity中,在这里跳转到three,这里重写了onResume()方法
相信有这个错误的童鞋一定都找过很多案例,这里就不多做解释了,直接上代码
//activity跳转到fragment
@Override
protected void onResume() {
    int id = getIntent().getIntExtra("id", 0);
    if (id == 2) {
        Fragment fragmen = new ThreeFragment();
        FragmentManager fmanger = getSupportFragmentManager();
        FragmentTransaction transaction = fmanger.beginTransaction();
        transaction.replace(R.id.viewpager, fragmen);
        transaction.commit();
        mViewPager.setCurrentItem(2);//
        //帮助跳转到指定子fragment
        Intent i=new Intent();
        i.setClass(RadioActivity.this,ThreeFragment.class);
        i.putExtra("id",2);
    }
    super.onResume();
}

最后是在ThreeFragment中接收,上代码

  @Override
public void onResume() {
    int id = getActivity().getIntent().getIntExtra("id", 0);
    if(id==2){
         vp.setCurrentItem(2);
    }
    super.onResume();
}
这样就是全部的代码了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144030.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • grid常用设置

    grid常用设置父元素1.dispaly:grid|inline-grid|subgrid;grid:生成块级网格inline-grid:生成行内网格subgrid:如果网格容器本身是网格项(嵌套网格容器),此属性用来继承其父网格容器的列、行大小2.grid-template-columns行大小grid-template-rows列大小3.单元格间距grid-column-…

  • html鼠标手状态,css鼠标样式cursor介绍(鼠标手型)

    html鼠标手状态,css鼠标样式cursor介绍(鼠标手型)CSS鼠标样式语法如下:任意标签中插入style=”cursor:*”例子:文本或其它页面元素文本或其它页面元素注意把*换成如下15个效果的一种:下面是对这15种效果的解释。移动鼠标到解释上面,看看你的鼠标起了什么变化吧!hand是手型例子:CSS鼠标手型效果CSS鼠标手型效果pointer也是手型,这里推荐使用这种,因为这可以在多种浏览器下使用。例子:CSS鼠标手型效果CS…

  • pycharm多行代码同时注释、去除注释_pycharm取消注释快捷键

    pycharm多行代码同时注释、去除注释_pycharm取消注释快捷键单多行注释就一个组合键:选中+Ctrl+/

  • poj 2762 Going from u to v or from v to u? (推断它是否是一个薄弱环节图)

    poj 2762 Going from u to v or from v to u? (推断它是否是一个薄弱环节图)

  • fedora14下载_乡村爱情12部下载

    fedora14下载_乡村爱情12部下载Fedora12正式版已于2009年11月18日正式发布,下面提供官方网站下载地址:下载主页:http://fedoraproject.org/zh_CN/get-fedora种子:http://torrent.fedoraproject.org/镜像:http://mirrors.fedoraproject.org/publiclist/Fedora/12/ …

  • java核心技术总结

    java核心技术总结*****************java基础*****************一、java中的局部变量、实例变量和类变量二、java中的基本类型和引用类型三、java中的位操作符四、关于java的方法1、方法的重载和重写(方法签名:方法名和参数列表)2、方法的可变参(int…args)(1)基本特点底层就是用数组来实现的;在方法内部可变参可以直接当成数组进…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号