В общем есть активити который эмулирует работу с деревом.
Ему в Intent передается id_parent. id_parent=0 - это корень дерева. Вложенность никак не ограничена.
Кнопкой назад(back) происходит переход к родительскому элементу.
Хочу сделать переход к корню дерева по долгому нажатию на кнопку назад(back). Как повесить событие на долгое нажатие кнопки назад(back) знаю.
Встал вопрос как правильно перейти в корень(Intent: id_parent=0), не нарушив историю переходов?
Активити запускаются следующим образом:
Intent intent = new Intent(this, HierarchyActivity.class);
intent.putExtra("id_parent", id);
startActivity(intent);
В интент передается id текущего элемента в качестве родительского. В навигационном стеке хранятся экземпляры одного класса-активити HierarchyActivity, но с разными значениями в интенте.
Решил проблему ведением собственного стека навигации Stack<Activity> и последовательным вызовом метода finish() активити в стеке при долгом нажатии на кнопку "назад".