2017-01-20 11 views
2

Предположим, что я нахожусь в действии A. Я хочу начать работу B, но я хочу, чтобы пользователь был занят активностью C, если они снова нажимают на активность B.Как синтезировать добавление активности в задний стек перед началом другого?

Так что даже если пользователь видит A -> B, я хочу, чтобы он был A -> C -> B.

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

Есть ли способ использования TaskStackBuilder хранения текущей задней стопки? Или есть ли другой способ синтетического добавления активности в задний стек перед началом другого?

ответ

1

Что вы можете сделать, это переопределить onBackPressed() в деятельности B, откуда вы будете запускать активность C и чистовую активность B. С точки зрения пользователя, он увидит:

A -> B -> (назад пресс-конференция) -> C

В backstack:

A -> AB -> AC

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 

    Intent intent = new Intent(this, ActivityC.class); 
    startActivity(intent); 
    finish(); 
} 

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

  • Нет связанных вопросов^_^