2011-01-10 3 views
0

У меня есть следующий я хочу добиться:андроида: Перемещение через деятельность без выскакивают их

активности А -> Активность B

активности B -> Activity A

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

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

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

Очень ценный.

ответ

1

Вы должны смотреть в 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

Спасибо, инзазарук, это то, что я искал. – Alex

0

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

Вот краткий учебник о том, как приступить к работе: http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

+0

Хорошее решение, не совсем то, что я искал. – Alex