Android 碎片上的装饰图案

Android 碎片上的装饰图案,android,android-fragments,decorator,Android,Android Fragments,Decorator,我正在创建2个片段基类,每个基类都有2个接口分别提供的方法。现在,我想要第三个片段,其中包含使用decorator模式从两个接口获得的方法。既然您只能在子类片段上使用空构造函数,我该如何实现这一点 PS:再次使用装饰图案。好的 正如您所说的,您需要有一个空构造函数。这是有原因的,因为在某些情况下,框架将从布局中实例化片段,在配置更改后加载 除了默认的无参数构造函数之外,您还可以创建另一个构造函数,但是如果框架重新创建您的片段,则传递的参数将丢失,因为它使用无参数构造函数。因此,您的装饰器将在没有

我正在创建2个片段基类,每个基类都有2个接口分别提供的方法。现在,我想要第三个片段,其中包含使用decorator模式从两个接口获得的方法。既然您只能在子类片段上使用空构造函数,我该如何实现这一点

PS:再次使用装饰图案。

好的

正如您所说的,您需要有一个空构造函数。这是有原因的,因为在某些情况下,框架将从布局中实例化片段,在配置更改后加载

除了默认的无参数构造函数之外,您还可以创建另一个构造函数,但是如果框架重新创建您的片段,则传递的参数将丢失,因为它使用无参数构造函数。因此,您的装饰器将在没有要装饰的片段的情况下被实例化

这样:

newInstance(Fragment toDecorate){
   Bundle b = new Bundle();
   b.putFragment???
也会失败,因为您无法将片段序列化为捆绑包,而且由于框架管理它们

我能想到的唯一方法是子类化,它实际上是装饰器模式的替代方案。与子类化相比,使用Decorator有什么好处?您真的需要在运行时添加/修改片段功能的能力吗


附:这并不是一个真正的答案,因为你说过你想要一个具有装饰图案的解决方案。这是一个关于考虑将子类化作为备选方案的建议。

我们可以边聊边谈吗?我想在这里讨论会引起一系列的评论。是的,当然,让我们来看看聊天室。我在聊天室里没有看到你。对不起,这是我第一次聊天,找不到在这方面的任何结论吗?是的,似乎我无法装饰。真遗憾,因为我真正需要的是多重继承。不仅仅是多个接口导致定义的方法。