Когда мой стек в этой ситуации:Как управлять стеком действий вручную?
A->B->C
я начинаю снова, что это на самом деле один экземпляр, то стек становится
B->C->A
Я хочу, чтобы на нажатие кнопки стопка активность снова становится:
A->B->C
Когда мой стек в этой ситуации:Как управлять стеком действий вручную?
A->B->C
я начинаю снова, что это на самом деле один экземпляр, то стек становится
B->C->A
Я хочу, чтобы на нажатие кнопки стопка активность снова становится:
A->B->C
вы не можете получить доступ к стеку активности непосредственно, как это, если вы не хотите, чтобы ударить его с намерением флажков как REORDER_TO_FRONT
ЕНТ Это как-то напоминает то, чего вы хотите достичь.
Возможное решение было бы перейти на другую реализацию backstack, как Flow, потому что тогда это становится довольно легко:
History history = Flow.get(this).getHistory();
Iterator<Object> iterator = history.iterator();
List<Object> newHistory = new ArrayList<>();
while(iterator.hasNext()) {
Object stackElement = iterator.next();
newHistory.add(stackElement);
}
// reorder elements in new history
Flow.get(this).setHistory(History.newBuilder()
.addAll(newHistory)
.build(),
Direction.FORWARD);
Вы можете запустить в одном istance B, а затем C? – firegloves
Нет. Они не в одном экземпляре. –
, тогда вам нужно очистить стек и снова открыть их. – mallaudin