首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在具有不同基类的活动之间共享代码的最佳方式是什么?

在具有不同基类的活动之间共享代码的最佳方式是什么?
EN

Stack Overflow用户
提问于 2011-04-25 16:00:36
回答 1查看 680关注 0票数 4

我有以下问题:

我有一个抽象活动类,我们称之为MyAbstractActivity,它包含一些我想重用的代码(例如:标准服务绑定器、公共菜单项、公共初始化代码等等)。通常,我只会用它来细分我的具体活动并完成它。

但是,我偶尔需要使用另一种超级类型,如ListActivity或MapActivity。

因此,问题是:如果我必须使用另一个基类,如何避免在活动中复制支持代码?

我想出了一个基于装饰模式的解决方案,比如这个:

但是,我发现这种方法存在一个问题:如何处理受保护的方法(如onCreate())?我是否应该引入一个额外的“桥梁”类,使其公开以供装饰者使用,类似于下面的方式(开始看起来有点拜占庭式.)?

还有别的办法吗?

我希望我说得比较清楚。谢谢您的反馈!

PS。在我看来,使用静态实用程序类不是一个好的解决方案,因为它带来了难以识别的编程错误的可能性。

EN

回答 1

Stack Overflow用户

发布于 2011-04-25 19:48:24

如果我正确理解,那么无论是片段还是装饰模式,对于您想要完成的任务,都不是干净的或合适的解决方案。它们被设计用来解决其他问题。

我发现自己将“支持”代码、“框架”代码或“所有那些冗长的、重复的、样板的垃圾”移到静态实用程序方法上。这不一定是我在非Android项目上采用的方法,但在我的Android项目中,它运行得非常好。

另外,要知道,不需要对ListActivity进行子类处理就可以获得ListView。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5780272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档