2012-04-18 1 views
0

Я экспериментирую с TabHost и ActivityGroup, когда я заметил, что если бы я нажал на одну операцию, весь ActivityGroup будет уничтожен. Таким образом, я создал список представлений, представляющих мои действия. Однако это приводит к тому, что моя предыдущая деятельность потеряла свое состояние. Я даже настроил freezesText моего EditText на предыдущую активность на «истина», но это не помогает в сохранении ее значения.Управление деятельностью внутри ActivityGroup

Не могли бы вы объяснить мне, как работает ActivityGroup и как он управляет его суб-мероприятиями? Прямо сейчас у меня создается впечатление, что ActivityGroup переключает только виды, а не действия. Правильно ли я это понимаю? Я все больше и больше путаюсь здесь. Как я могу заставить его работать так, что если я вернусь к одному действию, предыдущее действие будет восстановлено на основе его последнего состояния? (Как и то, что происходит, когда нормальная деятельность вызывает другую деятельность, то пользователь нажимает назад.)

Это то, что я хочу, чтобы это произошло:

  • ActivityGroupA (ActivityGroupA был запущен вводимыми пользователем детали на ActivityGroupA.).
  • ActivityGroupA> ActivityB (прессы пользователя 'отправить'. ActivityGroupA называет ActivityB.)
  • ActivityB> ActivityGroupA (прессы пользователя 'отмена'. ActivityB разрушается. ActivityGroupA теперь вершина стека снова.)

Возможно ли это? Как мне это сделать?

ответ

0
public void back() 
{ 
    if (history.size() > 1) 
    { 
     history.remove(history.size() - 1); 
     View v = history.get(history.size() - 1); 
     v.setFocusable(true); 
     v.setFocusableInTouchMode(true); 
     v.clearFocus(); 
     setContentView(v); 
    } 
    else 
     this.finish(); 
}