回退堆栈

在Fragment中被编辑的事务能够放在它自己的Activity中回退堆栈内。当用户在该Activity中按下返回按钮时,在回退堆栈中的任何事务在Activity自己被结束之前会被弹出堆栈。

例如,实例化一个带有整数参数的简单的Fragment对象,并且把这个整数显示在它的UI的一个TextView中:

publicstaticclassCountingFragmentextendsFragment{
    int mNum;

/**
     * Create a new instance of CountingFragment, providing "num"
     * as an argument.
     */
    staticCountingFragment newInstance(int num){
        CountingFragment f =newCountingFragment();

// Supply num input as an argument.
        Bundle args =newBundle();
        args.putInt("num", num);
        f.setArguments(args);

return f;
    }

/**
     * When creating, retrieve this instance's number from its arguments.
     */
    @Override
    publicvoid onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        mNum = getArguments()!=null? getArguments().getInt("num"):1;
    }

/**
     * The Fragment's UI is just a simple text view showing its
     * instance number.
     */
    @Override
    publicView onCreateView(LayoutInflater inflater,ViewGroup container,
            Bundle savedInstanceState){
        View v = inflater.inflate(R.layout.hello_world, container,false);
        View tv = v.findViewById(R.id.text);
        ((TextView)tv).setText("Fragment #"+ mNum);
        tv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.gallery_thumb));
        return v;
    }
}

用下面的方法创建一个新的Fragment实例,用它来替换当前被显示的Fragment实例,并把这种改变发布到回退堆栈上:

void addFragmentToStack(){
    mStackLevel++;

// Instantiate a new fragment.
    Fragment newFragment =CountingFragment.newInstance(mStackLevel);

// Add the fragment to the activity, pushing this transaction
    // on to the back stack.
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.replace(R.id.simple_fragment, newFragment);
    ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    ft.addToBackStack(null);
    ft.commit();
}

每次调用上面这个方法之后,就会在堆栈上增加一个新的实体,并且按下回退键时,会把它从堆栈中弹出,并给用户返回之前的Activity状态。

转载于:https://www.cnblogs.com/andriod-html5/archive/2012/05/31/2539404.html

Android类参考---Fragment(二)相关推荐

  1. Android类参考---Fragment(一)

    1. 继承关系 java.lang.Object |__android.app.Fragment 实现接口:ComponentCallbacks2 View.OnCreateContextMenuLi ...

  2. Android类参考---Fragment(五)

    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) 当Vie ...

  3. Android类微信(二)

    目录 一.设计目标 二.功能实现 点击实现详情页码的跳转 点击实现回传值效果 三.运行效果 四.源码仓库地址 一.设计目标 1.实现对Activity生命周期的理解,使用log展示生命周期的状态变化: ...

  4. Android学习之 Fragment

    [eoe特刊]Fragment- 特刊-eoe Fragment应用的介绍 - memegood123的专栏 - 博客频道 - CSDN.NET android之Fragment(官网资料翻译) - ...

  5. Android系列之Fragment(二)----Fragment的生命周期和返回栈

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  6. Android架构组件(二):LiveData

    前言 上篇文章我们分析了Lifecycle的使用和原理,相信我们已经学会了用Lifecycle将你所需的类添加声明周期管理,如果只是寥寥阅读也没关系,这里奉上(双膝跪地)上篇地址,Android架构组 ...

  7. Java IO在Android中应用(二):APK加固

    Java I/O在Android中应用(二):APK加固套壳 前言(废话) 我,有两把键盘,第一把是Poker III(黑轴),第二把是Poker II(红轴).工作的时候我常用的是红轴的Poker ...

  8. 【Android】保存Fragment切换状态

    [Android]保存Fragment切换状态 前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章 ...

  9. Android Activity和Fragment的转场动画

    Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, int exitAnim)实现的. 这个方法是API Lev ...

  10. android 电容屏(二):驱动调试之基本概念篇

    关键词:android  电容屏 tp 工作队列 中断 多点触摸协议 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:S5PV310(sams ...

最新文章

  1. VMware vSphere 5.0升级到5.1的思路
  2. gogs只支持mysql5.7_Gogs 搭建教程
  3. [linux] 线程和wait命令,sleep命令
  4. Spring中@Controller和@RestController之间的区别
  5. SQL with(nolock)详解
  6. java 访问线程_java线程简介(共享对数据的访问)
  7. Android Things揭开面纱
  8. oracle 查看函数被哪些触发器引用_oracle如何查看存储过程,存储函数,触发器的具体内容...
  9. 如何生成时间序列matlab,求助:在MATLAB里如何输入时间序列中的时间
  10. 运维-替换-修改kibana徽标
  11. Revit 2011二次开发“弹出对话框,得到输入的值”
  12. 世界大学生超算竞赛正式启动,再次引发全球关注
  13. 51多项式06——复系数和实系数多项式
  14. java 锁的重入_Java 的可重入锁和不可重入锁
  15. Java 日期格式化规则
  16. 提交留言HTML模板代码
  17. VTM代码学习(1)CU划分
  18. 怎么把静态地图做成gif动图?一键教你快速合成gif地图
  19. [ 报错记录 ]使用springboot时@Runwith报红
  20. 中学生学习心理:学习心理

热门文章

  1. linux 软件应用
  2. Python 网络数据采集
  3. sysV init服务脚本(入门级)
  4. Interpreting and Disentangling Feature Components of Various Complexity from DNNS论文解读
  5. sizeo(结构体)的问题
  6. 数据--第50课 - 基础查找课后练习
  7. Linux入门命令解释(1)
  8. 就这么简单!构建强大的WebShell防护体系
  9. 服务器内存太小,伤不起![异常与应用程序池引发的连锁命案]
  10. 【10-26】java调试技术学习笔记