В Java: Каков наилучший способ передать метод от одного объекта к другому, чтобы он мог быть вызван позднее вторым объектом?Вызов метода делегата в Java
Я пришел из фона ActionScript, где так же легко передавать ссылки на методы, как и передавать ссылки на переменные, но это, по-видимому, намного сложнее в Java. Первые несколько ссылок, которые я нашел, говорят, что это невозможно (и, возможно, это было во время их публикации), но затем я нашел http://www.javacamp.org/javavscsharp/delegate.html, где подробно описано, как это можно сделать.
Моя проблема с использованием примера Javacamp - это основанная на строках ссылка на метод. Методы получают переименованное все время, и ссылка на строку будет жаловаться только после того, как вы на самом деле запустили эту функциональную среду выполнения, в отличие от времени компиляции для правильной явной ссылки.
Нет ли способа сделать это с помощью правильных явных ссылок на метод, который должен выполнять другой класс?
модель того, что я надеюсь достичь:
- Игрок нажимает на кнопку обновления на Activity1> Activity1 проходит обновление метод новой активности подтверждения щелкает
- игрока «Да»> активность подтверждения требует обновления метод передается из Activity1
- ИЛИ: Игрок нажимает кнопку «Нет»> активность подтверждения закрывает
EDIT: Чтобы быть ясно, я не ища решение статического метода, так как это потребует, чтобы моя операция подтверждения содержала много строк логики, для которых статический метод для вызова. Подтверждение активности будет использоваться по всему моему приложению: простой «Вы уверены, что хотите X?» -Yes -Нет, если да, выполните X
В настоящее время я изучаю реализацию onActivityResult, чтобы избежать этой проблемы, но это будет логичнее, чем мне нравится в этом вопросе.
Проверьте шаблон команды. –
Поскольку вы работаете на Android, вот что вам нужно: http://stackoverflow.com/a/16800770/1400672 –