假如要实现一个这样的功能,在主页面MainActivity创建了四个底部Fragment,ABCD,点击B的时候有个按钮想要实现跳转D页面,可以这样实现。
首先要保证当前Activity启动模式为singleTask,详细查看 https://www.jianshu.com/p/bd1cfc31b035
在MainActivity中重写onNewIntent方法

@Overrideprotected void onNewIntent(Intent intent) {    super.onNewIntent(intent);    setIntent(intent);    checkToggleMenu();// 切换}
/** * 切换(从activity跳转回来) */private void checkToggleMenu(){    int keyTo = getIntent().getIntExtra(KEY_ACTION, -1);    if(keyTo != -1)    {        btns[preBtnIndex].setSelected(false);        btns[keyTo].setSelected(true);        try {            if (mFragments[keyTo] == null) {                mFragments[keyTo] = (Fragment) AppConfig.MAIN_TAB_FRAGMENTS[keyTo].newInstance();            }            // 切换内容            switchContent(mFragments[mPrevious],                    mFragments[keyTo]);            mPrevious = keyTo;        }        catch (InstantiationException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        }        preBtnIndex = keyTo;    }}

我知道大家看不懂我这个返回跳转的方法是什么意思,其实这就是一个选择位置fragment的方法
大家可以根据自己的使用习惯来修改,只需要拿回它返回的状态数字就可以了,接下来是最主要的一个方法

Intent intent = AppIntent.getMainActivity(mContext);intent.putExtra(MainActivity.KEY_ACTION, X);  //这个X就是当前fragment的索引intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);startActivity(intent);

好了,最后要靠自己实现了,实现操作是可以用的,麻烦就在于切换fragment的方法需要大家们独立创新,莫的感情啊,再见。

更多相关文章

  1. Android(安卓)extends和implements不同
  2. Android(安卓)壁纸设置_01
  3. html5开发全屏android软件
  4. Android(安卓)Matrix进阶方法详解
  5. Android中View和ViewGroup事件分发拦截机制完美分析
  6. android service与activity交互的方试
  7. Android(安卓)library projects cannot be launched解决方法
  8. Android(安卓)AsyncTask和Handler对比
  9. Android之Banner的滚动轮播实现

随机推荐

  1. JS 网站性能优化笔记
  2. Java基础编程练习10:求1!+2!+3!+…+n!, n<
  3. javascript数据类型转换
  4. Java基础编程练习9:已知三角形的三条边a,b
  5. 2021北京高新技术企业申报难度及相关要求
  6. Java基础编程练习8:猜数字游戏
  7. Java基础编程练习7:百钱百鸡问题。
  8. Linux宝塔负载均衡使用教程
  9. javascript创建对象几种方式
  10. IE6 png 透明 (三种解决方法)