Спасибо за ответ. Это было полезно. Я решил эту проблему, добавив статический метод в свой класс, который расширил Observer, чтобы у него было два метода обновления:
public static void update(Method method)
{
//update count here
}
@Override
public void update(Observable observable, Object obj) {
//override code to handle observable's call to update
}
Всякий раз, когда я сталкивался со статическим методом, для которого мне нужно было вести подсчет, я вызывал MyClass.update()
и передавал ссылку на вызывающий метод, используя API-интерфейс Reflection getEnclosingMethod()
.
например:
MyObserver.update(new Object(){}.getClass().getEnclosingMethod());
Кажется, работает нормально.