码迷,mamicode.com
首页 > 移动开发 > 详细

Android Fragment的使用

时间:2016-09-04 20:32:59      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

定义

Fragment可以理解成一个迷你型的活动,同样可以包含布局,同样有自己的生命周期。比Activity要轻量级,在程序中做界面跳转要比Activity快的多。

静态添加

Fragment可以静态或者动态的添加到Activity中,其中静态情况下,直接在layout.xml中添加fragment节点,并指定android:name属性就可以启动相应的fragment.

动态添加

可以在Activity中通过覆盖onCreate()函数来动态添加Fragment

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null){
            getSupportFragmentManager().beginTransaction().add(R.id.container, new MainFragment()).commit();
        }
    }

在Fragment中可以通过添加按钮事件接收器覆盖当前的fragment:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);

        rootView.findViewById(R.id.btnShowAnotherFragment).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getFragmentManager().beginTransaction()
                        .addToBackStack(null)
                        .replace(R.id.container, new AnotherFragment())
                        .commit();
            }
        });

注意,一个静态添加的Fragment,通过这种动态的方法进行替换会造成两个Fragment在Framelayout中的重叠。

生命周期:

当一个Fragment被另一个fragment启动的时候会执行oncreate, oncreateview,当返回时会onDestroy销毁。

启动别人的这个Fragment则只会执行onDestroyView,并不会执行onDestroy。

Android Fragment的使用

标签:

原文地址:http://www.cnblogs.com/dracohan/p/5840022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!