Android ActivityGroup вернуться первое действие по клику - PullRequest
3 голосов
/ 27 апреля 2011

У меня есть приложение с TabActivity, содержащее ActivityGroup. Каждая вкладка работает нормально, но для одной конкретной вкладки я хочу вернуться к первому дочернему действию, когда есть щелчок по нему (когда мы находимся в дочернем действии этой вкладки или внутри другой вкладки).

Я попытался запустить желаемое действие в onResume моей ActivityGroup, оно работает, когда я на другой вкладке, но не когда я на этой вкладке, с дочерним действием.

Нужно ли использовать для этой вкладки другой флаг намерения, кроме FLAG_ACTIVITY_CLEAR_TOP? У кого-нибудь есть подсказка?

Спасибо.

1 Ответ

1 голос
/ 25 мая 2011

Обычно с ActivityGroup у вас есть какая-то история.

Допустим, ваша история:

ArrayList<View> history;

Конечно, история должна быть инициализирована и иметь несколько представлений, которые можно получить с помощью:

getLocalActivityManager().startActivity(clazz.getName(), new Intent(this, clazz)).getDecorView();

где класс - класс вашего ребенка. Поэтому при щелчке в текущей ActivityGroup определите метод, например:

public void backToFirst() {
    int size = history.size();
    while (size > 1) {
        history.remove(size - 1);
        size = history.size();
    }
    setContentView(history.get(0));
}

Надеюсь, я вас правильно понял, и это ответ, который вы ищете.

...