Intereting Posts
Eclipse и Android SDK проблема «aapt.exe остановился» Пример привязки / отмены привязки (android) Не удалось конвертировать в формат Dalvik: невозможно выполнить dex: Java heap space PhoneGap 3 плагин: exec () вызов неизвестного плагина "…" Фрагмент против пользовательского вида в Android Android Splash Screen Получение DrawerLayout для перемещения по ActionBar Как поймать ошибку «Извините, это видео не может быть воспроизведено» на VideoView Удаление страницы фрагмента из ViewPager в Android Android Studio: не удалось выполнить выполнение градиента, причина пуста AVD Manager – для этой цели не установлено системное изображение Какое рекомендуемое событие для обновления интерфейса навигации WebView? Получить страну из координат? Ошибка преобразования байт-кода в dex: Причина: java.lang.RuntimeException: Исключение классов разбора – Android studio 2.0 beta 6 Unmarshalling ошибки в приложении Android с настраиваемыми классными классами

Должен ли вызов метода суперкласса быть первым утверждением?

Результаты распознавания речи можно прочитать в onActivityResult(int requestCode, int resultCode, Intent data) , как показано в этом примере . Этот метод переопределяет тот же метод в классе Activity : почему вызов метода суперкласса не является первым выражением?

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { // Fill the list view with the strings the recognizer thought it could have heard // ... } super.onActivityResult(requestCode, resultCode, data); } 

Solutions Collecting From Web of "Должен ли вызов метода суперкласса быть первым утверждением?"

Методы, которые вы переопределите, которые являются частью создания компонентов ( onCreate() , onStart() , onResume() и т. Д.), Вы должны onResume() суперкласс к первому утверждению, чтобы убедиться, что Android имеет возможность выполнить свою работу до вас Попытаться сделать что-то, что полагается на эту работу.

Методы, которые вы переопределите, которые являются частью уничтожения компонентов ( onPause() , onStop() , onDestroy() и т. Д.), Вы должны сначала выполнить свою работу и onDestroy() суперкласс в качестве последнего. Таким образом, если Android очистит то, от чего зависит ваша работа, вы сначала сделаете свою работу.

Методы, возвращающие нечто, отличное от void ( onCreateOptionsMenu() и т. Д.), Иногда вы onCreateOptionsMenu() с суперклассом в операторе return, предполагая, что вы специально не делаете то, что необходимо для принудительного получения определенного возвращаемого значения.

Все остальное – например, onActivityResult() – зависит от вас, в целом. Я, как правило, привязываюсь к суперклассу, но если вы не сталкиваетесь с проблемами, цепочка позже должна быть прекрасной.

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

В общем, хотя это не имеет значения, и если это произойдет, это будет упомянуто в SDK – я столкнулся с ним, упомянув несколько мест в SKD (я думаю, о документации по диалогам), но я точно не помню, какие Страница / раздел, в котором он включен.

Ниже приведено более подробное обсуждение этой темы: http://groups.google.com/group/android-developers/browse_thread/thread/9ddb2b06c21c8457