Android назад кнопка нового намерения или закончить () - PullRequest
0 голосов
/ 13 октября 2011

У меня есть вопрос. У меня есть представление списка (A) и представление сведений (B).

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

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

Как мне достоверно определить, пришел ли я из А или из уведомления, чтобы я мог предпринять правильные действия.

Кроме того, это то, о чем я должен беспокоиться? Или это нормально, просто начинать деятельность каждый раз. В случае, когда я подпрыгиваю между A -> B -> A -> B -> A -> B снова и снова ... ни разу не вызывая finish () ... это замедлит процесс?

Спасибо

Gerard.

Ответы [ 2 ]

5 голосов
/ 13 октября 2011

Когда вы запускаете Упражнение B с намерением, добавьте extra, а затем проверьте состояние extra в занятии B. Вот пример использования строк, хотя вы можете использовать другие типы переменных, такие как boolean или int:

Intent i = new Intent(this, ActivityB.class)
i.putExtra("startedBy", "ActivityA"); 

Затем в Деятельности B вы можете получить дополнительную переменную с помощью:

Bundle extras = this.getIntent().getExtras(); 
String startedBy = null;

if (extras != null) {
    startedBy = extras.getString("startedBy");
}
1 голос
/ 13 октября 2011

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

...