【问题标题】:Design Pattern to write common method for all classes which extends Activity or Fragment为扩展 Activity 或 Fragment 的所有类编写通用方法的设计模式
【发布时间】:2013-06-20 08:58:32
【问题描述】:

任务的实现:-

我需要实现一个方法,比如说commonMethod(),它将在ActivityMapActivityFragment 等的onResume() 上调用。(在另一项工作中有onResume()的类)。

这可以通过在我想要的所有地方轻松调用 commonMethod() 来完成。

但我想要的是

我想编写一个基类“BaseActivity”(用于Activity 家族,另一个用于Fragment 家族),它将扩展Activity 并将commonMethod() 写入onResume()。现在所有Activity 都可以扩展BaseActivity,我可以在其中调用super.onResume()。到目前为止我没有问题。

问题开始于

com.google.android.maps.MapActivity 扩展 Activity 类。我必须再次为MapActivitycommonMethod()我不想要)。

那么有什么办法吗?是否有任何设计模式可以做到这一点?

【问题讨论】:

  • :) 你哪里有问题要理解?很明显,我没有我想要的代码。
  • 问题是The MapActivity will inherit from the default class of android's Activity class。我不能使用我的 BaseActivity 类,我必须为 MapActivity 编写另一个基类...
  • 先生,我们不能在java中实现一个类。那应该是一个界面
  • 我不明白你的问题。你能改写一下吗?
  • 你解决了这个问题吗?你用的是什么模式?

标签: android design-patterns android-activity android-fragments


【解决方案1】:

您将必须MapActivity 的直接子类中调用该方法。没有办法解决这个问题。除非您能够编辑 MapActivity 本身。

如果您想避免重复的方法主体,请将上述方法放在 Application 类或某个单例中,或者尽可能将方法设为静态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多