Fragment的Tag
来源:互联网 发布:中文通用域名 诈骗 编辑:程序博客网 时间:2024/06/06 03:10
android.app.FragmentManager.findFragmentByTag(String tag)
使用Fragment,先获取其实例,通过tag找到内存中的实例,如果取到null,再初始化实例。那么tag怎么获取?
1、
android.app.FragmentTransaction.replace(int containerViewId,Fragment fragment,String tag)
的时候用户指定tag,
如:
FragmentManager manager = getChildFragmentManager();//嵌套Fragment需要getChildFragmentManager
if (manager != null) {
// Add default fragments to view. Try to reuse old fragments or create new ones
FragmentTransaction transaction = manager.beginTransaction();
AnalogClockFragment mClockFragment = (AnalogClockFragment) manager
.findFragmentByTag("AnalogClockFragment");
if (mClockFragment == null) {
mClockFragment = new AnalogClockFragment();//子Fragment实例
transaction.replace(R.id.clock_frame, mClockFragment, "AnalogClockFragment");//tag AnalogClockFragment
} else {
transaction.show(mClockFragment);
}
transaction.commit();
}
2、Fragment实例化的时候Android系统会给Fragment对象一个默认的tag
查看源代码 android.support.v4.app.FragmentPagerAdapter
private String getFragmentTag(int position){
//看源代码 android.support.v4.app.FragmentPagerAdapter
return "android:switcher:"+R.id.pager+":"+position;
}
然后根据tag获取fragment对象
getActivity().getFragmentManager().findFragmentByTag(getFragmentTag(position));
这里的position是:如果有多个fragment,position是其顺序号,从0开始,0、1、2。。。
这里的R.id.pager是:fragment所在View容器控件id
- Fragment的Tag
- ViewPager + Fragment 获取Tag
- 获取ViewPager中的Fragment实例 或者叫 ViewPager中Fragment的TAG
- Android 中ViewPager+fragment报异常:IllegalStateException:Can't change tag of fragment的一种解决思路
- Android报错ViewPager: Can't Change Tag of Fragment的解决方法
- 屏蔽 logcat中某个tag的方法 tag:^(?!TAG)
- Tag cloud 像云一样的tag
- jsp tag的七宗罪
- tag-library的作用
- Tag的使用
- 用过的tag
- Tag File的使用
- vim的tag备忘
- View Tag 的使用
- 关于tag的定义
- svn的branch/tag
- Eclipse TAG的使用
- 常用的Tag值
- 滓酌姿佐驻篆卒综兹子昨桩锥兹棕锥踪渍
- 黑马程序员——ARC机制总结和用ARC建立模型
- 困扰我的word和world发音
- 使用junit进行Spring测试
- 关于ARM和MIPS的架构讨论
- Fragment的Tag
- 【转】C# DataGridView添加右键菜单等技巧
- I/O流经典介绍
- Oracle 特殊细节技术
- const 关键词
- emoji表情安装
- 成俔 慵齋
- jQuery(function(){})与(function(){})(jQuery)的区别
- 系统原理分析架构-一-DNS负载均衡