Скажем, у меня есть два активных действия: A
(с окном) и B
(с представлением, встроенным в A
, но все же это его собственная деятельность).Действия находятся в разных пакетах, но выполняются в одном и том же процессе.
Представление в действии B
добавляется к представлению в A
, которое реализует интерфейс I
.Объявление I
находится в библиотеке, совместно используемой между A
и B
.
Так что я хотел бы предположить, что я мог бы сделать что-то вроде этого внутри экземпляра B
:
viewInA = viewInB.getParent();
(I)viewInA;
Но я получаю ошибку приведения.Есть ли способ заставить это работать?
Небольшой самоанализ может легко доказать, что viewInA
действительно реализует I
.Пакет, в котором находится I
, конечно, одинаков для обоих видов деятельности.
Мой набор ограничений в связи с ситуацией довольно уникален;Выполнение простой передачи сообщений с намерениями не будет работать.
Я мог бы создать оболочку, которая использует самоанализ для получения методов в представлении, которое, как я знаю, существует.Но это ужасно, и я ленивый.