Intereting Posts
Библиотека сторонних разработчиков FloatingActionButton в CoordinatorLayout Android Dev: Как извлечь данные из Интернета и использовать данные в моем приложении? Как начать работу после разблокировки btn нажмите и перед открытием экрана? Как используются значения android.graphics.Matrix? Интерпретатор Haskell на Android? Обнаружение сбоя службы Я не могу найти Android SDK на своем компьютере Проблемы с динамическими представлениями в режиме просмотра вторсырья Убейте другое приложение и очистите его данные Получение квадратных изображений, таких как приложение gmail Изменение дизайна материала AppCompat ActionBar Color «Ресурс не найден» при создании приложения для Android в IntelliJ 9.0 Maia Public Beta Как создавать и создавать приложения с помощью Mono для Android и MonoDevelop на Linux? Условно установленная первая активность в Android Выберите «Не по умолчанию» googlecalendar с помощью google-java-client-api

Нужно ли использовать super.onActivityResult () в onActivityResult ()?

Какой из них лучше и почему?

Вот этот:

@Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); ... } 

или это:

 @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { // do not call super.onActivityResult() ... } 

Solutions Collecting From Web of "Нужно ли использовать super.onActivityResult () в onActivityResult ()?"

Первый лучше.

Это больше согласуется с другими функциями событий в API Activity , это ничего не стоит (код, который вы вызываете, ничего не делает на данный момент), и это означает, что вам не нужно запоминать, чтобы добавить вызов в будущем, когда поведение Базового класса.

редактировать

Как отметил Су-Ау Хван, мой прогноз о поведении изменения базового класса в будущем сбылся! FragmentActivity требует вызова метода на super .

Вы должны вызвать super.onActivityResult, если вы используете FragmentActivity из пакета поддержки (также SherlockFragmentActivity). В противном случае это не обязательно, однако я просто подключу его туда ради этого. Проверьте источник FragmentActivity (no onActivityResult не пуст).

Источник фрагмента

Если у вас нет нескольких подклассов Activity которые зависят от него в вашем приложении, это не похоже на вызов super.onActivityResult() , поскольку реализация onActivityResult() пуста (я проверил уровень API 15).

Вы можете сами ответить на это, посмотрев исходный код для Activity .

В основном это реализация onActivityResult(...) выглядит так …

 protected void onActivityResult(int requestCode, int resultCode, Intent data) { } 

… так ничего не делает.

Хотя кажется, что реализация по умолчанию пуста, возможно, что в будущих обновлениях это может быть не всегда так. Я бы рекомендовал использовать его