Android: перемещение по действиям, не совать их - PullRequest
0 голосов
/ 10 января 2011

У меня есть следующее, чего я хочу достичь:

Занятие A -> Занятие B

Занятие B -> Занятие A

На бумаге это звучит так жекак просто нажав кнопку назад.Проблема в том, что я не хочу, чтобы действие B. выталкивалось.

Мне нужно что-то по аналогии с moveTaskToBackground, но для одного действия.Таким образом, когда я снова возвращаюсь к нему из А, он может возобновиться.

Чтобы дать вам некоторый контекст, действие А представляет собой список элементов.На занятии B отображается информация об элементе и воспроизводится прикрепленная к нему песня.Возвращаясь от B к A, я хочу, чтобы эта песня продолжала играть, поэтому, если человек нажимает ту же самую опцию в A, он просто возобновляет действие.В противном случае убейте это действие и начните новое с новыми деталями и играйте новую песню.

С благодарностью.

Ответы [ 2 ]

1 голос
/ 11 января 2011

Вам необходимо просмотреть ActivityGroup и LocalActivityManager . TabActivity (как предлагается в другом ответе) фактически расширяет ActivityGroup.

Вот быстрый пример для начала:

Используйте это, чтобы начать действие A:

LocalActivityManager manager =  getLocalActivityManager();  

//A_ID == 1
Window activityWindow = manager.startActivity(A_ID, intent_activityA); 
setContentView(activityWindow.getDecorView());

или это, чтобы начать действие B:

//B_ID == 2
Window activityWindow = manager.startActivity(B_ID, intent_activityB);
setContentView(activityWindow.getDecorView());

Действия кэшируются и связаны с указанными идентификаторами. Если вы вызываете startActivity с одним и тем же идентификатором несколько раз, то фактически используется кэшированная активность (не всегда, это зависит от используемых вами намерений). Вы можете легко удалить любую активность из кэша, если вам нужно. Посмотрите LocalActivityManager для более подробной информации.

0 голосов
/ 10 января 2011

Вы можете использовать TabActivity для переключения между действиями. Вы можете сделать переключение в коде. Просто скройте вкладки в вашем пользовательском интерфейсе.

Вот краткое руководство по началу работы: http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

...