powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Как запустить Activity из из другого Activity?
6 сообщений из 6, страница 1 из 1
Как запустить Activity из из другого Activity?
    #40027244
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Ну, типичный способ

Intent i = new Intent(parentActivity, typeof(newActivityClass));
parentActivity.SstartActivity(i);

Но как получить экземпляр нового Activity? Intent как-то не кастится к Activity и не имеет методов его получения.
Спасибо.
...
Рейтинг: 0 / 0
Как запустить Activity из из другого Activity?
    #40027290
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renziglov
Но как получить экземпляр нового Activity?

в тот момент, когда стартует новая activity, старая приостанавливается, так что вы ничего с этим экземпляром не сделаете. Какую задачу пытаетесь решить? Нужно какой-то результат вернуть из Activity2?
...
Рейтинг: 0 / 0
Как запустить Activity из из другого Activity?
    #40027344
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Нет, никакого результата. Эта форма используется кором некоего SDK, который обеспечивает секьюрити. SDK написан на Java и прибайнден к моему проекту как Xamarin Adroid Java Bind. SDK находит на моей форме кнопки и обрабатывает нажатия на них. Не доверяет никаким другим способам введения данных, сам обрабатывает.
Эта активити должна быть создана, зарендерена, чтоб кнопки имели свои координаты и хранится в какой нибудь переменной до востребования. Только core SDK знает, когда ее показывать на экране, обрабатывать введенный пароль и убирать с экрана.
Такова спецификация.

Я могу эту активити хранить в (App)App.Current (Xamarin Forms), но как взять из интетна ее экземпляр?
...
Рейтинг: 0 / 0
Как запустить Activity из из другого Activity?
    #40027422
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нихрена не понятно. но очень интересно :)

Renziglov
но как взять из интетна ее экземпляр?

Intent это что-то вроде "команды с параметрами". Как дословно стоит в документации - "пассивная структура данных, содержащая абстрактное описание необходимое для выполнения операции". Никакого экземпляра activity в нем нет и быть не может - ни до запуска, ни после. Экземпляр activity будет создан, запущен (со всеми вытекающими) и самое главное получит управление только после вызова startActivity(intent) в неопределенный момент времени в будущем - т.е. из вызывающего кода вот вообще никак нормальным способом. По-этому вся ваша концепция "отрендерить и положить в переменную до востребования" звучит мягко говоря странно. Если у вас какая-то там секьюрити, то она должна оперировать некими метаданными / DSL, а не "отрендеренной активити" и применять их только после запуска, причем из самой activity, а не извне. Возможно она так и делает, а вы просто непонятно объяснили. В любом случае все что вы можете хранить до востребования, это сам класс Activity и возможно его параметры запуска (Intent или какая-то абстрактная структура из которой intent будет заполнен). А ваш SDK, поскольку "он решает", должен знать что с этим делать, а главное когда и как.

И вообще как-то странно - сейчас кучу activity запускать вообще уже считает не комильфо. Как правило для этого хватает одной Activity + много Fragment + Navigation Framework. Так чисто, вдруг вы не в курсе. Но принцип все равно сохраняется, что-либо делать вы можете только изнутри Activity или Fragment с момента отработки onCreate/OnViewCreated и т.д. (смотрите диграммы жизнедеятельности Activity и фрагментов)
...
Рейтинг: 0 / 0
Как запустить Activity из из другого Activity?
    #40027450
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Ну у меня, в принципе, так и сделано. У SDK есть событие типа Покажи Активити. Я создаю интент, из него якобы активити. Потом жду 100 мсек, чтоб оно отрендерилось. В OnStarted этого активити помещаю его экземпляр в (App)App.Current. Далее код Покажи Активити продолжается, в цикле ищу все кнопки полученного экземпляра, которые просит SDK и отправляю координаты ей. И евент хэндлер заканчивает работу.
Для меня, это код макаронистый, я так делать уже отвык. Но если второй человек здесь на форуме говорит, что так оно и есть, то спасибо за подтверждение.
С уважением.
...
Рейтинг: 0 / 0
Как запустить Activity из из другого Activity?
    #40027488
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про макаронистый код ничего не могу сказать, и про сам подход тоже. Но то что с активностями и фрагментами делать можно что-то только изнутри - факт. Поосторожней там с сохранением ссылок на активности - до утечек памяти рукой подать.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Как запустить Activity из из другого Activity?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]