- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
官方例子中http://developer.android.com/reference/android/app/DialogFragment.html#BasicDialog该 fragment 是使用静态工厂方法创建的,该方法将参数包装在 Bundle 中,并调用无参数构造函数通过 setArguments(bundle) 传递参数 - 所以我的问题是 - 为什么不简单地使用这些参数创建公共(public)构造函数?使用 getArguments/setArguments fragment 的方法的原因是什么 - 也许 Dialog 不能保证每次都重新创建,但可以重复使用?如果是这样那么它是什么时候发生的?提前致谢。
最佳答案
强制执行无参数的默认构造函数模式允许系统在必要时动态地重新创建 fragment 。来自文档:
All subclasses of Fragment must include a public empty constructor. The framework will often re-instantiate a fragment class when needed, in particular during state restore, and needs to be able to find this constructor to instantiate it. If the empty constructor is not available, a runtime exception will occur in some cases during state restore.
“将经常”和“在某些情况下”使它含糊不清。但不能满足您的好奇心……这是争论!
关于android - DailogFragment - getArguments/setArguments - 为什么要在包中传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10316527/
官方例子中http://developer.android.com/reference/android/app/DialogFragment.html#BasicDialog该 fragment 是使
我是一名优秀的程序员,十分优秀!