今天看到这篇文章:http://www.androiddesignpatterns.com/2012/05/using-newinstance-to-instantiate.html

public class MyFragment extends Fragment {        public static MyFragment newInstance(int index) {        MyFragment f = new MyFragment();        Bundle args = new Bundle();        args.putInt("index", index);        f.setArguments(args);        return f;    }}

 不要让客户端去调用默认的构造函数,然后手动地设置fragment的参数。我们直接为它们提供一个静态工厂方法。这样做比调用默认构造方法好,有两个原因:一个是,它方便别人的调用。另一个是,保证了fragment的构建过程不会出错。通过提供一个静态工厂方法,我们避免了自己犯错--我们再也不用担心不小心忘记初始化fragmnet的参数或者没正确设置参数。

总体而言,虽然两者之间的区别主要是只是设计的问题,这种差异是非常重要的因为它提供了一个抽象层,使代码更容易理解很多。

更多相关文章

  1. Android查询所有联系人和根据号码查询联系人方法
  2. Android系统信息查看方法
  3. Android camera预览参数以及实际图像大小设置
  4. Android裁剪图像实现方法示例
  5. Android中常用的bitmap处理方法
  6. 如何在Android 11 中正确请求位置权限?以及Android 8 - 11位置权
  7. 详解Android中IntentService的使用方法
  8. ReactNative调用Android原生方法

随机推荐

  1. 前端技术分享:一个超级好用的CSS样式表
  2. java中的锁介绍
  3. 获取yarn上APP的状态案例
  4. spark面试该准备点啥
  5. 简单漂亮的折线图,总结报告用得着
  6. 干掉 DevOps!!!
  7. 同用户不能同时打开Google Chrome谷歌浏
  8. 创始人 KK:Jenkins 的昨天、今天和明天
  9. 动态合并多个工作表,数据再多也不怕
  10. 申请阿里云免费的DV证书