Дочерняя активность ActivityGroup не завершена после вызова finish () - PullRequest
1 голос
/ 27 августа 2011

У меня есть программа, использующая ActivityGroup.Структура класса выглядит следующим образом:

Class A extends ActivityGroup {
onCreate(){
}
}

Class B extends A {
onCreate() {
startActivityResult();//launch C
}

onActivityResult(){
...
finish();//finish activity after receive result from C;this line of code does execute in test
...
}
}

Class C extends A {
onCreate(){
...
}
}

B - вход для всей программы.В B onCreate() я использую startActivityResult() для запуска C;в C он покажет пользователю кнопку;после того, как пользователь нажмет кнопку, C вызовет finish() и setResult();, а затем в B onActivityResult(), я пытаюсь использовать метод finish(), чтобы закрыть все приложения.

Проблема заключается в том, что экранпревращается в черный после нажатия кнопки.Тогда я использую hierarchyviewer.bat тоже посмотреть виды;к моему удивлению, есть представление с идентификатором R.id.content и другое корневое представление без идентификатора.И инструменты показывают, что активность B находится на вершине.Я знаю, что представление с идентификатором R.id.content является корневым представлением Activity. Но я не знаю, почему оно все еще существует после вызова finish().Вы знаете, что после finish() нет другой логики, и нет другого получателя, или какой-либо другой блок, который можно завершить.

Возможно, это проблема моего неправильного использования ActivityGroup.Кто-нибудь может помочь?

Спасибо за ваши ответы на мой первый вопрос по stackoverflow.

1 Ответ

0 голосов
/ 20 сентября 2011

Я знаю основную причину, потому что я использовал однозадачное действие B, но некоторые другие действия запускаются как новое задание и все еще не завершены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...