美文网首页Android开发实战总结
Android Fragment使用和注意事项

Android Fragment使用和注意事项

作者: AKyS佐毅 | 来源:发表于2017-10-13 17:44 被阅读102次
    • Fragment的中文含义是碎片,在之前安卓开发是,用户界面的切换全部使用activity的切换,这就造成了整个应用使用起来速度较慢,而且很占内存,因为activity是重量级的组件,在应用程序内部使用很不方便。

    • 于是出现了Fragment来解决这样的问题。Fragment是一种便捷的、轻量级的、基于activity的组件,所谓基于activity,就是必须有activity作为容器,Fragment才可以生存。

    • 另外,Fragment 可以动态的添加和删除。所以说Fragment是一种非常方便开发的组件 。

    生命周期对比图

    FullFragmentAndActivityLifeCycle.png

    静态使用Fragment

    • 使用步骤:
      • 1:继承fragment 重写onCreateView()回调方法,设置Fragment的布局
      • 2:在Activity中声明Fragment 使用方式和View相同
    静态使用Fragment.png 布局.png

    动态使用Fragment

    原来的Fragment创建方式不变,只不过在Activity中和布局文件中需要调整。

    • 使用步骤:
      • 1:继承fragment 重写onCreateView()回调方法,设置Fragment的布局
      • 2: 创建Fragment的管理器对象
      • 3: 获取Fragment的事务对象并且开启事务
      • 4: 调用事务中相应的动态操作Fragment的方法执行
      • 5: 提交事务
    设置占位和依赖关系.png 提交事务.png

    FagmentPagerAdapter与FagmentStatePagerAdapter区别

    • FagmentPagerAdapter 适用于页面较少的情况
    • FagmentStatePagerAdapter 适用于页面较多的情况

    Fagment的生命周期

    Fagment的生命周期.png

    Fragment通信

    • 在Fragment 中调用Activity中的方法 getActivity
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_blank,null);
            RelativeLayout layout = (RelativeLayout) view.findViewById(R.id.tv_navigation);
            layout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(getActivity(),"点我干嘛",Toast.LENGTH_LONG).show();
                }
            }); 
            return view;
        }
    
    • 在Activity中调用Fragment 中的方法,接口回调

    • 在Fragment中调用Fragment中的方法 findFragmentById

    • Fragment的replace、 add 、 remove 方法

    相关文章

      网友评论

        本文标题:Android Fragment使用和注意事项

        本文链接:https://www.haomeiwen.com/subject/qkwzyxtx.html