Создание абстрактных классов Activity - PullRequest
4 голосов
/ 25 апреля 2011

Я работаю над созданием абстрактных классов активности для своего приложения, которые я буду использовать для каждого действия.

  1. Суперкласс: android.app.Activity

  2. Мой абстрактный класс расширяет android.app.Activity myActivity

  3. Пример активности в моем приложении extends myActivity .

У меня будет 10-20 таких exampleActivity.

Как я могу написать свой абстрактный класс (# 2), чтобы заставить мой примерный класс переопределять методы в android.app.Activity, как onCreate() и onStart()?

Возможно ли это в Java?

Ответы [ 3 ]

4 голосов
/ 25 апреля 2011

Не совсем.

Однако вы можете создавать абстрактные функции myOnCreate и myOnStart и вызывать их в реализации абстрактного класса onCreate и onStart.

Возможно, вы также захотитесделать onCreate / onStart финальным, хотя трудно понять, в чем преимущество принудительного использования myOnCreate вместо onCreate.

3 голосов
/ 25 апреля 2011

Это возможно,

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
    }
}
0 голосов
/ 25 апреля 2011

Nop.Вместо этого более элегантно создавать интерфейс с методами onCreate и onStart, если вам необходимо принудительно переопределить другие в их реализации.

И передать экземпляр интерфейса вашему абстрактному классу активности через конструкторы или сеттеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...