Android Fragment
来源:互联网 发布:淘宝怎么修改退货金额 编辑:程序博客网 时间:2024/05/17 04:18
为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像Activity一样包含布局。
Fragment的生命周期:
- onAttach方法:Fragment和Activity建立关联的时候调用。
- onCreateView方法:为Fragment加载布局时调用。
- onActivityCreated方法:当Activity中的onCreate方法执行完后调用。
- onDestroyView方法:Fragment中的布局被移除时调用。
- onDetach方法:Fragment和Activity解除关联的时候调用。
public class Fragment1 extends Fragment {public static final String TAG = "Fragment1"; @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {Log.d(TAG, "onCreateView");return inflater.inflate(R.layout.fragment1, container, false);} @Overridepublic void onAttach(Activity activity) {super.onAttach(activity);Log.d(TAG, "onAttach");} @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.d(TAG, "onCreate");} @Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Log.d(TAG, "onActivityCreated");} @Overridepublic void onStart() {super.onStart();Log.d(TAG, "onStart");} @Overridepublic void onResume() {super.onResume();Log.d(TAG, "onResume");} @Overridepublic void onPause() {super.onPause();Log.d(TAG, "onPause");} @Overridepublic void onStop() {super.onStop();Log.d(TAG, "onStop");} @Overridepublic void onDestroyView() {super.onDestroyView();Log.d(TAG, "onDestroyView");} @Overridepublic void onDestroy() {super.onDestroy();Log.d(TAG, "onDestroy");} @Overridepublic void onDetach() {super.onDetach();Log.d(TAG, "onDetach");} }打印日志:
点击home键,打印日志:
再重新进入进入程序,打印日志:
点击back键退出程序,打印日志:
动态添加Fragment主要分为4步:
1.获取到FragmentManager,在Activity中可以直接通过getFragmentManager得到。
2.开启一个事务,通过调用beginTransaction方法开启。
3.向容器内加入Fragment,一般使用replace方法实现,需要传入容器的id和Fragment的实例。
4.提交事务,调用commit方法提交。
Fragment1类返回布局实例:
public class Fragment1 extends Fragment { @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment1, container, false);} }
在activity中:
Fragment1 fragment1 = new Fragment1();getFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();
0 0
- Android Fragment---创建Fragment
- Android Fragment---管理Fragment
- Android Fragment---创建Fragment
- Android Fragment---管理Fragment
- (Android) Fragment
- Android Fragment
- Android fragment
- Android Fragment
- Android Fragment
- android Fragment
- android fragment
- fragment android
- android Fragment
- Android Fragment
- android fragment
- Android Fragment
- Android Fragment
- android Fragment
- poj 1062 跪求大神帮看,网上大牛的测试数据全过了,然而还是wa。。哭晕
- AE中开发中,读取mdb或gdb中图层时,判断图层是否存在
- SSH整合 遇 非堆内存溢出问题java.lang.OutOfMemoryError: PermGen space 和 无法建表
- SQL UNIQUE 约束
- Basic Calculator -- leetcode
- Android Fragment
- 设计模式-行为型之命令模式
- OpenCV3中的SURF特征点的寻找和匹配
- Next Permutation
- UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法
- python学习——itertools模块
- Android Api Demos登顶之路(六十六)Graphics-->Animation Drawable
- QT window 和linux下的双编译
- ADS解决xxxis an undefined model