gpt4 book ai didi

android - DailogFragment - getArguments/setArguments - 为什么要在包中传递参数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:28:05 26 4
gpt4 key购买 nike

官方例子中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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com