Переопределение поведения Activity / Task в Android - PullRequest
1 голос
/ 14 ноября 2009

Я пишу простое приложение для Android, и мне хотелось бы лучше контролировать навигацию / отношения между действиями. Я не хочу, чтобы мои действия действовали как действия для Android ... Я не хочу, чтобы они складывались в Задаче. Я хочу, чтобы одна Activity (назовем это MainActivity ) была точкой приземления и всегда находилась на дне стека, и я хочу только один экземпляр моей второй активности (назовите ее SecondActivity ) чтобы быть выше этого в стеке ... было бы неплохо использовать его также. Я думал, что смогу получить такое поведение, сделав MainActivity"основным" Activity и объявив их обоих launchMode=singleTop. Это не работает вообще. Я обеспечиваю навигацию между ними с помощью меню, поэтому, когда я несколько раз возвращаюсь назад и возвращаюсь из приложения, я прохожу весь стек.

Как лучше всего иметь точный контроль над стеком Activity Задачи? Я хочу, чтобы MainActivity всегда возвращался из приложения, а SecondActivity всегда возвращался в один экземпляр MainActivity. Кроме того, я бы хотел, чтобы синглтоп работал, поэтому я бы использовал onNewIntent вместо того, чтобы каждый раз создавать и уничтожать. Использование манифеста и флага намерения просто не работает. Есть идеи?

1 Ответ

2 голосов
/ 15 ноября 2009

Что ж, вы всегда можете просто вызвать "finish ()" внутри любого действия, вызывающего другое действие после вызова "startActivity ()". Я бы определенно не советовал пытаться объединить все приложение в два класса активности и пытаться поменять местами представления в зависимости от того, что они делают. Если это так важно для вас, просто закройте свои действия, когда запускаете новые (хотя, очевидно, не MainActivity).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...