gpt4 book ai didi

java - 安卓应用架构 : how to share behavior between all screens

转载 作者:搜寻专家 更新时间:2023-11-01 08:13:11 24 4
gpt4 key购买 nike

嗨,Android 编码员们,

这是我每次制作新应用时都会遇到的问题。假设您的应用程序中有 Activity、ListActivity 和 MapActivity 的子类。现在我希望每个屏幕在用户单击菜单按钮时显示相同的选项菜单。所以我用这种行为做了一个 BaseActivity。但是因为 Java 不允许多重继承,所以我必须为每种类型的 Activity 编写三个 BaseActivities。这很丑陋,因为我有三倍相同的代码......我能想到的唯一解决方案是在其中一个 BaseActivities 中使某些行为静态化,并在其他 BaseActivites 中引用它。但是仍然有很多重复的问题......任何人都有更优雅的解决方案来解决这个问题?

干杯

最佳答案

这是单一继承语言的权衡之一。与其通过继承各种 Activity 子类来复制代码,不如使用委托(delegate)。这也称为委托(delegate)继承。您将获得多重继承的特性而无需承担责任。

这是通过创建一个委托(delegate)类来完成的,该委托(delegate)类具有您想要的所有共享功能,然后让“ super ”类调用该委托(delegate)。这仍然需要少量的复制和粘贴代码,但它是最小的。维基百科有一个很好的例子 Delegation pattern .如果您有 C# 背景,这种形式的委派是类似的,但不限于单一方法和多个事件。

关于java - 安卓应用架构 : how to share behavior between all screens,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616025/

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