public ArrayAdapter (Context context, int resource, int textViewResourceId, T[] objects)
Здесь ресурс означает «идентификатор» макета, который вы используете при создании экземпляра.
Теперь этот макет имеет много дочерних представлений со своими идентификаторами. Таким образом, textViewResourceId
сообщает, какое дочернее представление нужно заполнить данными.
Вы рассматривали аспектно-ориентированное программирование и, возможно, AspectJ ? Здесь здесь и здесь для информации AspectJ / Android.
Взгляните на Spring AOP . Вам не нужно подклассифицировать свой класс вручную, но Spring создаст их за кулисами и добавит код для перехвата.
Использовать класс Java Proxy
. Он создает динамические реализации интерфейсов и перехватывает методы, все они отражаются.
Proxy
, но во всех примерах я видел, что вам нужно создать экземпляр (например, Foo
), используя объект Proxy
. В моем случае это неприемлемо. Я не могу изменить приведенный выше примерный код.
– m0skit0
11 September 2012 в 15:46
Proxy
перед вызовом метода, тогда вы правы, это решение не будет работать, так как вам нужно заменить экземпляр Foo
новым экземпляром Proxy
. Извини :)
– Brian
11 September 2012 в 16:40
Proxy
должен быть фабрикой Foo
. Спасибо за ваш ответ в любом случае :)
– m0skit0
11 September 2012 в 17:39
Да, это возможно через AspectJ . Я объясню это с помощью некоторого фрагмента кода:
public Aspect
{
Object around()call(* Foo.callTheMethod())
{
// do your work
return proceed();
}
}