|
Как запустить Activity из из другого Activity?
|
|||
---|---|---|---|
#18+
Привет. Ну, типичный способ Intent i = new Intent(parentActivity, typeof(newActivityClass)); parentActivity.SstartActivity(i); Но как получить экземпляр нового Activity? Intent как-то не кастится к Activity и не имеет методов его получения. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2020, 19:53 |
|
Как запустить Activity из из другого Activity?
|
|||
---|---|---|---|
#18+
Renziglov Но как получить экземпляр нового Activity? в тот момент, когда стартует новая activity, старая приостанавливается, так что вы ничего с этим экземпляром не сделаете. Какую задачу пытаетесь решить? Нужно какой-то результат вернуть из Activity2? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2020, 23:10 |
|
Как запустить Activity из из другого Activity?
|
|||
---|---|---|---|
#18+
chpasha, Нет, никакого результата. Эта форма используется кором некоего SDK, который обеспечивает секьюрити. SDK написан на Java и прибайнден к моему проекту как Xamarin Adroid Java Bind. SDK находит на моей форме кнопки и обрабатывает нажатия на них. Не доверяет никаким другим способам введения данных, сам обрабатывает. Эта активити должна быть создана, зарендерена, чтоб кнопки имели свои координаты и хранится в какой нибудь переменной до востребования. Только core SDK знает, когда ее показывать на экране, обрабатывать введенный пароль и убирать с экрана. Такова спецификация. Я могу эту активити хранить в (App)App.Current (Xamarin Forms), но как взять из интетна ее экземпляр? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 01:58 |
|
Как запустить Activity из из другого Activity?
|
|||
---|---|---|---|
#18+
нихрена не понятно. но очень интересно :) Renziglov но как взять из интетна ее экземпляр? Intent это что-то вроде "команды с параметрами". Как дословно стоит в документации - "пассивная структура данных, содержащая абстрактное описание необходимое для выполнения операции". Никакого экземпляра activity в нем нет и быть не может - ни до запуска, ни после. Экземпляр activity будет создан, запущен (со всеми вытекающими) и самое главное получит управление только после вызова startActivity(intent) в неопределенный момент времени в будущем - т.е. из вызывающего кода вот вообще никак нормальным способом. По-этому вся ваша концепция "отрендерить и положить в переменную до востребования" звучит мягко говоря странно. Если у вас какая-то там секьюрити, то она должна оперировать некими метаданными / DSL, а не "отрендеренной активити" и применять их только после запуска, причем из самой activity, а не извне. Возможно она так и делает, а вы просто непонятно объяснили. В любом случае все что вы можете хранить до востребования, это сам класс Activity и возможно его параметры запуска (Intent или какая-то абстрактная структура из которой intent будет заполнен). А ваш SDK, поскольку "он решает", должен знать что с этим делать, а главное когда и как. И вообще как-то странно - сейчас кучу activity запускать вообще уже считает не комильфо. Как правило для этого хватает одной Activity + много Fragment + Navigation Framework. Так чисто, вдруг вы не в курсе. Но принцип все равно сохраняется, что-либо делать вы можете только изнутри Activity или Fragment с момента отработки onCreate/OnViewCreated и т.д. (смотрите диграммы жизнедеятельности Activity и фрагментов) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 15:12 |
|
Как запустить Activity из из другого Activity?
|
|||
---|---|---|---|
#18+
chpasha, Ну у меня, в принципе, так и сделано. У SDK есть событие типа Покажи Активити. Я создаю интент, из него якобы активити. Потом жду 100 мсек, чтоб оно отрендерилось. В OnStarted этого активити помещаю его экземпляр в (App)App.Current. Далее код Покажи Активити продолжается, в цикле ищу все кнопки полученного экземпляра, которые просит SDK и отправляю координаты ей. И евент хэндлер заканчивает работу. Для меня, это код макаронистый, я так делать уже отвык. Но если второй человек здесь на форуме говорит, что так оно и есть, то спасибо за подтверждение. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 16:46 |
|
Как запустить Activity из из другого Activity?
|
|||
---|---|---|---|
#18+
про макаронистый код ничего не могу сказать, и про сам подход тоже. Но то что с активностями и фрагментами делать можно что-то только изнутри - факт. Поосторожней там с сохранением ссылок на активности - до утечек памяти рукой подать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 19:35 |
|
|
start [/forum/topic.php?fid=13&msg=40027450&tid=1330704]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
21ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 350ms |
0 / 0 |