2011-01-28 6 views
4

У меня есть 5 видов деятельности и поток как этотAndroid активность

1 → 2 → 3 → 4 → 5

на 5-й активности, при нажатии на кнопку назад, возможно вернуться к действию 2 или 3 без завершения какой-либо деятельности? В настоящее время я только добираюсь до четвертого.

ответ

1

Если и хотят, чтобы получить 2 или 3 и хочет, чтобы написать код на задней Key

@Override 
    public boolean onKeyDown(int i, KeyEvent event) { 

      if (i == KeyEvent.KEYCODE_BACK) { 
      Intent i=new Intent(getbaseapplicationcontext(),activity2.class) 
        startActivity(i) 
       return true; 

      } 
      return super.onKeyDown(i, event); 
     } 

И другой путь

и хочет, чтобы закончить активность Whatever U оленью кожу хочет Как и нужно здесь Activity4

+0

@Parag, когда я запускаю новую активность в кнопке «Назад», она у меня не будет обратной анимации, т. е. моей проблемы – Bytecode

+0

@parag, если он снова отступит после прихода 2 актуария 2.:-P. –

+0

Работает, как в основном, работает с откидным верхом –

2

Есть что-то вроде ActivityHistory. Я не очень уверен в точном ключевом слове, но существует нечто подобное. Вы можете пройти через него.

Возможно, this ссылка поможет!

+0

Это сообщение действительно описательное, Аман. Благодарю. +1. – Mudassir

+1

Немного точнее: http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html – espinchi

+0

Спасибо, espinchi, может быть, этот пост добавлен совсем недавно. Я никогда не видел, чтобы он был там, когда я посещал его. –

0

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

+0

Когда мы начинаем действие, можем ли мы добавить анимацию, то есть аналогично тому, когда мы возобновляем действие с помощью кнопки «Назад» – Bytecode

0

Когда начинается новое действие, его выталкивают на задний стек и принимают фокус пользователя. Задний стек соответствует основному механизму стека «последний в первый раз», поэтому, когда пользователь выполняет текущую активность и нажимает кнопку «Назад», он выталкивается из стека (и уничтожается), и предыдущее действие возобновляется. На задней кнопке нажата.

@Override 
public boolean onKeyDown(int i, KeyEvent event) { 

     if (i == KeyEvent.KEYCODE_BACK) { 
    Intent intent = new Intent(YourActivity.this, New Activity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 
      return true; 

     } 
     return super.onKeyDown(i, event); 
    } 
Смежные вопросы