Android之道--Fragment使用记录
来源:互联网 发布:epub制作软件 wand 编辑:程序博客网 时间:2024/04/30 06:22
/*注 本文仅限作者自己使用,他人看不懂被误导后果自负撒,不过欢迎批评指正。
1.抽象Activity,将重复代码(设置布局,添加Fragment。。。)放入抽象类
- public abstract class SingleFragmentActivity extends FragmentActivity {
protected abstract android.app.Fragment createFragment();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_activity);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
//抽象方法 也就是模板,具体实现具体对待
.add(R.id.container,createFragment()).commit();
}
}}
这样新建的activity直接继承它就可以省掉配置fragment这一步了,只不过activity布局文件名和放置fragment的容器视图id要固定喽,
分别是fragment_activity和container,继承的activity只要重写createFragment返回一个个性化的fragment就好辣!
Tips:
- 容器视图资源ID(container)是FragmentManager队列中fragment的唯一标识符。
- FragmentManager负责调用队列中fragment的生命周期方法。
2.然后工作就都从activity里转移到Fragment里啦,就目前我所知许多activity的方法在fragment里都有相应的方法哦
创建一个UIFragment的步骤和创建一个activity是相同的。
- 首先当然是先定义布局文件啦
- 创建Fragment类并设置其视图为定义的布局
- 通过代码连接布局文件中生成的组件
第一步都会得。
直接从第二步开始,
继承Fragment或者其他巴拉巴拉更nx的Fragment,然后就是覆写各个生命周期来完成使命啦。不过Fragment的视图不再是在oncreate()中实现,而是在
onCreateView(LayoutInflater,ViewGroup,Bundle)中实现啦。这两个参数是必要参数,生成View并返回给托管activity。
View v = inflater.inflate(R.layout.fragment,container,false);
return v;三个参数分别是布局资源ID,父视图,告知布局生成器是否将生成的视图添加给父视图。传入false是因为我已经在抽象activity里添加啦
第三步:在fragment中关联组件
使用 View.findViewById(int)方法。以前使用的 Activity.findViewById(int) 能够在后台自动调用View.findViewById(int)方法
3.表演才刚刚开始
1 使用fragment argument
我用它来----托管activity有话要对fragment说的时候。
附加 argument bundle 给fragment需要调用Fragment.setArguments(bundle)方法,而该方法需要在fragment创建后 添加给activity前完成
所以可以添加名为newInstance()静态方法给fragment类来完成fragment实例及bundle对象的创建及附加操作。
托管activity需要fragment实例时不再调用其构造方法,而是使用newInstance()方法,当然也可以传入任意想说的话啊,这个方法会在fragment创建后 添加给activity前
把悄悄话绑定到fragment然后返回fragment实例的。
剩下的工作就是在fragment中获取悄悄话啦。
Fragment.getArguments()
tips:
fragment也有 startActivityForResult onActivityResult 方法,因此
fragment能够从activity中接受返回结果,但不能产生返回结果,需要通知托管activity来返回结果:getActivity().setresult();
2 继承其他各种Fragment
未完待续......
0 0
- Android之道--Fragment使用记录
- android之Fragment使用
- Android菜鸟笔记-Fragment日常使用记录
- Android之Fragment使用简介
- Android之Fragment使用简介
- Android学习之Fragment使用
- Android Fragment异常记录
- 记录使用fragment
- Fragment使用问题记录
- Android 工作记录二 之 viewpager 动态删除fragment
- Android记录6--ViewPage+Fragment的使用例子
- Android中的Fragment使用详解之生命周期
- Android之Fragment的使用(二)
- Android之Fragment的使用(一)
- Android系列之Fragment----ListFragment的使用
- Android之Fragment的基本使用
- Android读书笔记之Fragment Arguments的使用
- Android四大控件之Fragment的使用
- 一个研究生对自己的期望
- 百度2016校园招聘:软件测试工程师
- Web service 的入门
- Android 超高仿微信图片选择器 图片该这么加载
- 六子棋的15种棋型
- Android之道--Fragment使用记录
- xml
- Linux内核编程的特点
- 使用GDI+和CImage类加载png图片
- typedef用途
- YARN源码分析(四)-----Journalnode
- Leetcode: Reverse Words in a String
- Nginx学习笔记一_UNIX中的IO模型
- MVCC实现-MYSQL INNODB MVCC实现