回退堆栈
在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状态。
分享到:
相关推荐
此为示例代码,详细讲解请参考博文: http://blog.csdn.net/tangron/article/details/22037789 如对资源内容有疑问,请到博客中留言。 欢迎大家评阅,谢谢
主要给大家介绍了Android在Fragment中实现监听触摸事件的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
分享一款Android中的-player Actvity和Fragment的进入动画.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
源码参考,欢迎下载
(eclipse没有其他项目的话手动建一个就有了,Android是在Android 3.0 (API level 11)开始引入Fragment的,3.0以上开始起为了兼容3.0以下的需要加入这个jar)。 第四步: 右键分别点击core目录和android-...
源码参考,欢迎下载
基于ViewModel 实现 Android Fragment 间信息共享。 例子简单,也是 抠的大神的代码,修改好了之后能跑起来的demo。 希望能给入门者参考。想当初我也是找了 n久 就是找不到合适的demo。 278397935@qq.com
Android 静态加载fragment,参考博客: http://blog.csdn.net/u010661782/article/details/51790987
Android Fragment实现按钮间的切换,可以进行导航,对于想快速度搭建一个App应用的开发者,可以参考。里面代码也相当详细。
完成上述第二点以后,还有需要解决的难题,是宿主程序资源id和插件程序id重复的问题。 这个问题解决办法也很简单 我们知道,资源id是在编译时生成的,其生成的规则是0xPPTTNNNN PP段,是用来标记apk的,默认情况下...
Fragment加入Pagerview效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
fragment的使用教程请大家参考官网的demo,那个是以android.app.Fragment为例子的,可以使用getFragmentManager(),activity的一个 方法, 要是用android.support.v4.app.Fragment,需要继承FragmentActivity,...
自从下拉刷新在移动段火起来了之后,在Android方面,大家一般使用的下拉刷新框架就是那个几个主流(大神自己写就不要来打脸了),选择那个大家可以参考下这个项目---Android-Ptr-Comparison,这位对这些框架从技术...
主要为大家详细介绍了Android仿微信Viewpager-Fragment惰性加载lazy-loading,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Fragment实现tab实例 代码.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android -- shape 模仿选项卡切换.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
本文实例讲述了Android开发实现Fragment监听返回键事件功能的方法。分享给大家供大家参考,具体如下: 前面的文章Android开发教程之Fragment定义、创建与使用方法详细讲述了Fragment的基本概念与用法。这里再来分析...
主要添加自定义actionProvide(自定义二级菜单) actionbar06 主要添加tab+ fragment 参考: SlideMenu intro 借助第三方库,组合+Fragment实现。 参考 app设置界面 intro 利用PreferenceFragment进行实现 参考 Android...
分享一款Android中的轻松实现进入Activity或者Fragment的时候为view创建漂亮的过渡效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
源码参考,欢迎下载