2012-05-02 1 views
0

Есть ли способ программно посмотреть, существует ли активность в стеке и повторно использовать его вместо повторного его создания?Повторное использование существующих действий в стеке (во избежание дублирования действий в памяти)

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

Это может быть просто плохой дизайн (это мое первое приложение). Но было просто интересно, как это можно управлять? Есть ли этому решение?

ответ

1

Этот вид доступа к свободной форме немного нахмурился в руководстве по пользовательскому интерфейсу Android, но вы можете использовать FLAG_ACTIVITY_REORDER_TO_FRONT в своем намерении, чтобы переставить вашу деятельность на фронт.

В качестве альтернативы вы также можете использовать FLAG_ACTIVITY_CLEAR_TOP, чтобы очистить стек поверх вашей деятельности.

+0

Спасибо. Я попробую! –

+1

Также попробуйте использовать фрагменты. С помощью фрагментов вы можете создавать приложения для навигации по нескольким экранам с наиболее удобным для пользователя способом, иногда для бизнес-кейса достаточно одного действия с несколькими фрагментами. –

1

Подумайте, что все действия сохраняются в стеке, например, если вы поместите основное действие, а затем вы вызываете secondeone, когда вы закончите эту вторую операцию, основной будет вставлен спереди. Так что, если вы знаете, где это деятельность, да, вы можете повторно использовать его;)

надежду быть полезным :)

Смежные вопросы