Dummy callback interface

В примере кода Master-detail-flow от Google, который создает Eclipse для вас, этот материал находится в фрагменте:

private Callbacks mCallbacks = sDummyCallbacks; public interface Callbacks { public void onItemSelected(String id); } private static Callbacks sDummyCallbacks = new Callbacks() { @Override public void onItemSelected(String id) { } }; @Override public void onAttach(Activity activity) { super.onAttach(activity); mCallbacks = (Callbacks) activity; } @Override public void onDetach() { super.onDetach(); // Reset the active callbacks interface to the dummy implementation. mCallbacks = sDummyCallbacks; } 

Я понимаю, как интерфейс обратного вызова используется для связи из фрагмента с его активностью, но для чего нужен этот манекен для обратного вызова?

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

Другой способ «сбросить» обратные вызовы в onDetach – установить значение null, но это потребует нулевого тестирования каждый раз, когда он используется, что является много повторяющимся / скучным кодом.

Intereting Posts
CSS-градиент не работает на Android 2.3.6? Как я могу сделать фигурные края на изображении на андроиде? Как удалить общие предпочтения при удалении приложения в android Android – Как программно изменить режим timepicker? RecyclerView занимает все пространство экрана BitmapFactory.decodeResource возвращает измененный Bitmap в Android 2.2 и неизменный Bitmap в Android 1.6 Android – получить время следующего сигнала тревоги «Не найдено никаких тестов» для контрольных испытаний для Lollipop и выше Фрагменты и уведомления: укажите различные действия из уведомлений; В зависимости от конфигурации экрана Показывать контекстное меню, когда ссылка длиннее нажата в TextView Ни одно приложение не может выполнить это действие, когда отправляет электронное письмо Удаление элементов на основе курсора в RecyclerView Не удалось передать null для выполнения (); Метод AsyncTask в android 4.0 Scrollview под панелью инструментов в android Android-приложение показывает черные границы, перекрывающие края пользовательского интерфейса – какой-то режим совместимости?