创建抽象 Activity 类

发布于 2024-11-03 01:32:35 字数 447 浏览 0 评论 0原文

我正在为我的应用程序创建抽象活动类,我将在每个活动中重用该抽象活动类。

  1. 超级类:android.app.Activity

  2. 我的抽象类扩展了 android.app .活动 myActivity

  3. 我的应用程序中的示例活动扩展了 myActivity

我将拥有 10-20 个这样的 exampleActivity

如何编写我的抽象类 (#2) 来强制我的示例类覆盖 android.app.Activity 中的方法,例如 onCreate()onStart() ?

这在Java中可能吗?

I am working on creating abstract activity classes for my application that I will reuse for each activity.

  1. Super Class: android.app.Activity

  2. My Abstract Class extends android.app.Activity
    myActivity

  3. Example activty in my application extends myActivity.

I will have 10-20 of these exampleActivity.

How can I write my abstract class (#2) to force my example class to override methods in android.app.Activity like onCreate() and onStart()?

Is this possible in Java?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦里南柯 2024-11-10 01:32:35

并不真地。

但是您可以创建抽象函数 myOnCreate 和 myOnStart 并在 onCreate 和 onStart 的抽象类实现中调用它们。

您可能还想将 onCreate/onStart 设置为最终的,尽管很难看出强制 myOnCreate 而不是 onCreate 有什么好处。

Not really.

However you can create abstract functions myOnCreate and myOnStart and call those in your abstract class implementation of onCreate and onStart.

You might also want to make onCreate/onStart final, although it's difficult to see what the benefit is of forcing myOnCreate instead of onCreate.

耳钉梦 2024-11-10 01:32:35

这是可能的,

public abstract class MyActivity extends android.app.Activity
{

    public abstract void onCreat(...);
    public abstract void onStart(...);
}

public class OtherActivity extends MyActivity
{
    public void onCreate(...)
    {
        //write your code
    }

    public void onStart(...)
    {
      //write your code
    }
}

This is possible,

public abstract class MyActivity extends android.app.Activity
{

    public abstract void onCreat(...);
    public abstract void onStart(...);
}

public class OtherActivity extends MyActivity
{
    public void onCreate(...)
    {
        //write your code
    }

    public void onStart(...)
    {
      //write your code
    }
}
樱花细雨 2024-11-10 01:32:35

不。如果您需要强制其他人在其实现中重写,那么使用 onCreate 和 onStart 方法创建接口会更优雅。

并通过构造函数或设置器将接口实例传递给抽象活动类。

Nop. It's more elegant to create an interface with onCreate and onStart methods instead if you need force others to override in their implementation.

And pass the interface instance to your abstract activity class throught constructors or setters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文