android - 如何使用特定片段开始活动但活动不依赖于片段?
问题描述
我想启动一个作为通用片段宿主的活动,该活动可以显示我想传递给它的任何片段。我知道我可以做一些switch-case
orif-else
并使用 some String
or int fromIntent
创建相应Fragment
的 . 但这将依赖于具体Fragment
,我想知道是否有办法在不依赖具体片段的情况下实现它?
解决方案
这里应该采用一种设计模式,例如FactoryMethod
,解耦主机Activity
和每个个体之间的依赖关系Fragment
。大致可以如下图:
在上面的类图中,您的主机活动将仅依赖于工厂而不是每个单独的片段。
笔记:
这
Fragment createFragment(String fragmentDescriptor)
是一个静态方法,返回类型是父类Fragment
,而不是子类型。片段创建逻辑应在工厂内部处理,以便您的主机活动将摆脱此创建逻辑。
推荐阅读
- r - 如何手动匹配left_join不匹配的单元格?
- json - ' ' 类型的值没有下标 - JSON 数据
- javascript - 对象数组内对象数组的对象部分的模板内强制变化检测
- python - 如何在 VS Code 上选择 python 解释器
- python - while-loop 无法停止(可能会出现我没有意识到的其他问题)
- javascript - CSS Toggle Switch 将类添加到具有本地存储的 DIV
- sql - ASP.NET 和 SQL Server:使用动态值更新最后一条记录
- amazon-web-services - AWS WAF 不阻止来自被阻止 IP 的流量
- javascript - 从流中检索音轨的名称
- javascript - 三元运算符在状态更改时无法按预期工作