2012-01-02 2 views
0

У меня есть приложение для Android с 20 классами для 10 видов деятельности.Повторное использование функции в android

Я хочу повторно использовать определение функции в каждом действии. У меня есть нижняя панель, и нажатие на нее из любой активности должно вызвать эту функцию. Поскольку Java can not имеет множественное наследование, как мне скопировать эту функцию туда, где я хочу?

+0

Если Java была поддержка "множественного наследования", как бы вы использовать его, чтобы решить эту проблему? –

+2

@ βнɛƨнǤʋяʋиɢ, очевидным способом является расширение Activity и другого класса, который имеет все необходимые функции. –

+0

@ user826788 AFAIK, приложениям для Android требуется одно действие/класс для каждого экрана/вида. Следовательно, 10 видов деятельности могут быть оправданы. Пришлось писать классы для загрузки изображений, разбора JSON, Autofill extra. – Jaseem

ответ

10

Сделайте BasicActivity класс и протяните его от Activity и напишите этот метод внутри него.

и теперь распространяются все Activity в приложении от BasicActivity

+2

И для большей ясности, когда вы перечитываете свой код, BasicActivity должен быть абстрактным. – Raveline

+0

Проблема решена. Какие-нибудь лучшие альтернативы? – Jaseem

+0

@ Jaseem, не зная никаких подробностей, сказать невозможно. –

1

Другой способ заключается в создании класса, который имеет все функции, которые вы потребность. Вы можете использовать одноэлементный шаблон для такой вещи.


Пример:

public final class SingletonClass{ 
    private SingletonClass(){} 

    private static class InstanceHolder{ 
     private static final SingletonClass instance=new SingletonClass(); 
    } 

    public static SingletonClass getInstance(){ 
     return InstanceHolder.instance; 
    } 

    /*your public non-static methods here*/ 
} 

И затем:

SingletonClass singleton=SingletonClass.getInstance(); 
singleton.someMethod();  

 Смежные вопросы

  • Нет связанных вопросов^_^