Управление деревом действий в приложении для Android - PullRequest
0 голосов
/ 08 декабря 2011

Я думаю, что я четко не задавал этот вопрос до (потому что я не получил требуемый ответ), и было ошибкой опубликовать эту версию здесь так что я попробую в последний раз.

У меня есть большое дерево действий, в котором есть одно корневое действие с 6 элементами списка, каждый элемент ведет к своему действию со своим списком элементов и т. Д. Одно поколение дерева может отображаться в одном действии. Таким образом, существует только 1 действие для корня и 1 для всех его дочерних элементов (только разные элементы списка, которые отображаются во время выполнения в зависимости от ранее выбранного элемента). Навигация, очевидно, должна работать в обоих направлениях - вперед (ближе к листьям дерева) и назад (ближе к корню). Также возможны прыжки между поколениями (например, мы можем перейти от 1 поколения к 3 и обратно). Я думаю, что создавать намерения каждый раз, когда пользователь переходит к другому виду деятельности, нецелесообразно. Существует ли какая-либо модель или хорошая практика для управления несколькими видами деятельности, как в этом случае? Может быть, в каждом действии должен храниться статический класс, который возвращает свое намерение, или создан другой класс управления?

1 Ответ

1 голос
/ 08 декабря 2011

В Android действия управляются в (обратном) стеке. Это означает, что вы можете начать новое действие, и оно помещается в стек и является показанным действием. При возврате через финиш () эта верхняя активность извлекается из стека

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

Переход вниз по дереву означает вызов активности дочернего узла. Подниматься снова можно, просто завершив свою деятельность. Вы автоматически появитесь на уровне выше уровня дерева.

...