Как получить ссылку на текущую видимую активность, не передавая ее в качестве параметра другому классу - PullRequest
1 голос
/ 15 марта 2019

Как видно из заголовка, я хочу получить ссылку на видимую в данный момент активность или вы можете сказать активность, которая находится на вершине backstack из класса, я не хочу отправлять ссылку на активность в этот класс, потому что я Я использую этот класс из многих видов деятельности, и если я это делаю, я должен передать ссылку на деятельность из каждого действия, которое является длительным процессом.

Я уже видел много ответов, которые являются ссылкой на контекст приведения типов к действию, но это не работает.

Если у кого-нибудь есть идея, как это сделать кратко, то, пожалуйста, поделитесь.

1 Ответ

1 голос
/ 15 марта 2019

Я не знаю, что вы подразумеваете под "длинным процессом".

Обычно, если Activity делегирует работу другому классу, он должен передать себя как ссылку, чтобы делегат знал, как перезвонить Activity, чтобы сообщить о прогрессе и т. Д. Это стандартные вещи Android. AsyncTask работает так (например).

Однако, если все, что вы хотите сделать, это отобразить Dialog, то вместо этого вы можете запустить Activity, который выглядит как Dialog. Это также довольно распространенное решение для Android. Есть темы, которые вы можете применить к Activity, которые делают его похожим на Dialog.

...