Android – 封装Fragment不依赖于Activity

Android – 封装Fragment不依赖于Activity

大家好,又见面了,我是全栈君。

封装Fragment不依赖于Activity


本文地址:http://blog.csdn.net/caroline_wendy


Fragment直接托管activity的intent会破坏Fragment的封装性。


能够使用newInstance()的静态方法,完毕fragment实例及bundle对象的创建,

然后将argument放入bundle中,最后再附加给fragment.


newInstance代码:

    public static CrimeFragment newInstance(UUID crimeId) {
        Bundle args = new Bundle();
        args.putSerializable(EXTRA_CRIME_ID, crimeId);
        CrimeFragment fragment = new CrimeFragment();
        fragment.setArguments(args);

        return fragment;
    }


Activity创建Fragment:

    protected Fragment createFragment() {
//        return new CrimeFragment();
        UUID crimeId = (UUID)getIntent().getSerializableExtra(CrimeFragment.EXTRA_CRIME_ID);
        return CrimeFragment.newInstance(crimeId);
    }


获取Argument数据:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        UUID crimeId = (UUID)getActivity().getIntent().getSerializableExtra(EXTRA_CRIME_ID);
        UUID crimeId = (UUID)getArguments().getSerializable(EXTRA_CRIME_ID);
        mCrime = CrimeLab.get(getActivity()).getCrime(crimeId); //依赖activity获取crime
    }

Android - 封装Fragment不依赖于Activity

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115555.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ecshop彻底去版权把信息修改成自己的全教程

    ecshop彻底去版权把信息修改成自己的全教程前台部分:一、去掉头部title部分的ECSHOP演示站-Poweredbyecshop1、问题:“ECSHOP演示站”方法:在后台商店设置–商店标题修改2、问题:“Poweredby

    2022年7月2日
    27
  • ManagementObject_getsuperclass方法

    ManagementObject_getsuperclass方法原文:http://blog.csdn.net/hardstone1/article/details/5380775网上代码和MSDN帮助中都没有列出 ManagementObject[""]这里到底有哪些属性可以使用,参考了http://www.groupsrv.com/dotnet/about69957.html了之后发现了可以枚举出来所有属性,代码如函数getallprop()。…

    2022年10月2日
    4
  • Activity 工作流配置「建议收藏」

    Activity 工作流配置「建议收藏」一、什么是工作流工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(WorkflowManagementSystem,WfMS)是一个软件系统,它完成工作量的定义和管理,…

    2022年5月25日
    94
  • eclipse使用svn更新代码_eclipse安装svn

    eclipse使用svn更新代码_eclipse安装svn1.先去将本地的代码更新到最新,如果更新内容较少,可以点击资源同步,具体可以看一下博主:svn创建svn图文2.更新成最新的代码之后,点击创建补丁,点击第二个file文本框,选择一个文件夹存下一个文件。3.打开申请上线权限,。点击puth,填写./4.申请通过之后,复制review+版本号5.将复制的版本号放到comment下6.点击ok。…

    2025年8月7日
    3
  • [日常] Go语言圣经-匿名函数习题

    [日常] Go语言圣经-匿名函数习题

    2021年5月26日
    97
  • java设计模式3,里氏替换原则

    java设计模式3,里氏替换原则里氏替换原则的内容可以描述为:“派生类(子类)对象可以在程序中代替其基类(超类)对象。”

    2025年7月3日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号