情况是这样的:我使用具有一些标准功能(如标准菜单生成器)的“BaseClass”,所有其他 Activity “扩展”它以获得相同的菜单和其他内容:
public class Base extends Activity {
//some stuff
}
然后
public class MainActivity extends Base {
//some other stuff
}
public class AdditionalActivity extends Base {
//some other stuff x2
}
// etc.
当我想要在 Preferences Activity 中使用相同的功能时,当类必须“扩展” PreferenceActivity 而不是标准的时,就会出现问题。我该如何更好地处理它?我读过“实现与扩展”行为和类似的东西,但我在 OOP 方面不太有经验来处理它并找到最佳解决方案。从 Base 到 Prefs 类的 C&P 内容,扩展 PreferenceActivity 似乎解决了问题,但肯定是最糟糕的解决方案。
提前感谢你的帮助!
最佳答案
您可能想要创建一个 PreferenceBaseActivity
类,它扩展 PreferencesActivity
。从这里,您有几个选择:
BaseActivity
重新实现相同的方法(不是最优的)。 BaseActivity
中的方法提取到 ActivityHelper
类中,并使 BaseActivity
和 PreferencesBaseActivity
都包含对帮助程序的引用。通过这种方式,您可以将基础 Activity 的工作委托(delegate)给 ActivityHelper
。 关于java - 我如何使用 "extend"类在 Android 中创建 "base"PreferenceActivity 类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6507975/