2013-02-13 4 views
3

Здравствуйте, разработчики AndroidНачало работы в цепочке

У меня есть три вида деятельности, которые начинаются в какой-то цепочке.

активность А -> есть кнопка, которая запускает активность B.

активности начать B -> кнопки, которая возвращает обратно активность А. и кнопку захвата, которая начинается активность C с некоторыми данными отмены.

Активность C -> кнопка возврата, которая возвращается к действию B , которое должно возобновить активность A с некоторыми данными.

Мой вопрос, который является правильным способом, чтобы начать эту деятельность в цепи, и как я могу поддерживать поток от деятельности С А.

ответ

0

активность А -> кнопка запуска, которая начинается активность B.

Начать новую Деятельность, подобная

Intent myIntent = new Intent(A.this, B.class); 
     startActivityForResult(myIntent); 

Активность y B -> cancel, которая возвращается к Activity A. И кнопка захвата, которая запускает активность C с некоторыми данными.

На кнопке отмены вы можете просто позвонить finish(), а на кнопке захвата вы можете начать новую деятельность C.

Активность C -> кнопка возврата, которая возвращается к использованию активности B, которая должна возобновить активность A с некоторыми данными.

на кнопку пересдачи можно вызвать finish(), и если вы хотите, чтобы получить некоторый входной сигнал от активность А затем вы должны вызвать StartActivityForResult(1212) и прием этот код в onActivityResult сделать операцию, которую вы хотите в нем и послевкусие() активность А, когда вы сделали это, он будет автоматически перенаправлен на Activity C, в Activity C's onResume() вы сможете получить это значение данных.

+0

спасибо за ответ. У меня есть еще одна кнопка в действии c, которая должна перейти к активности A, с некоторым результатом. – Dory

+0

см. Я только что отредактировал свой ответ – dhams

+0

эй, но я бы снова создал Activity A. – Dory

0

Вы можете начать деятельность C от деятельности В качестве startActivityForResult (намерений, requestCode). Вернувшись из активности C в B, получите результат, полученный в результате действия onActivityResult.

Вы можете сделать один и тот же рабочий процесс для C и A и наоборот. См this

1

Intents являются лучшим способом, чтобы перейти от одного вида деятельности на другой Activity.Code

public void onClick(View v) 
{ 
    Intent myIntent = new Intent(A.this, B.class); 
     startActivityForResult(myIntent, 0); 
} 
+0

и тот же код в действии B с b.this и C.class –

+0

как я могу перейти из действия C в A. – Dory

+0

В действии B вы должны использовать финиш() под startActivityForResult(), он перенесет вас на активность A.Skipping Activity B. –