Интерфейс фрагмента в новом действии впервые возвращает ноль ⇐ Android
Интерфейс фрагмента в новом действии впервые возвращает ноль
Я пытался изменить этот ответ, чтобы отправлять данные из фрагмента в новое действие. Но listener получает значение null при запуске активности.
Я проверил, и после первого запуска активности слушатель ценится и работает нормально. Я знаю, что есть более эффективные способы взаимодействия между фрагментами и действиями, но ради обучения я хочу сделать это именно так. Спасибо.
MapsFragment:
частный статический прослушиватель MapsFragment.onMySignalListener; общественный недействительный переключательWindow() { если (слушатель == ноль) Toast.makeText(getContext(), «Проблема», Toast.LENGTH_LONG).show(); если (слушатель! = ноль) { прослушиватель.onMySignal(paramImageUrl); } } общедоступный интерфейс onMySignalListener { void onMySignal (String image_url); } public static void setOnMySignalListener(MapsFragment.onMySignalListener прослушиватель) { MapsFragment.listener = слушатель; } Действие на месте:
protected void onCreate (Bundle saveInstanceState) { . MapsFragment.setOnMySignalListener(новый MapsFragment.onMySignalListener() { @Override public void onMySignal (String image_url) { ImageUrl = image_url; } }); } где-то в прослушивателе кнопок во фрагменте, где я вызываю этот метод
switchWindow();
Я пытался изменить этот ответ, чтобы отправлять данные из фрагмента в новое действие. Но listener получает значение null при запуске активности.
Я проверил, и после первого запуска активности слушатель ценится и работает нормально. Я знаю, что есть более эффективные способы взаимодействия между фрагментами и действиями, но ради обучения я хочу сделать это именно так. Спасибо.
MapsFragment:
частный статический прослушиватель MapsFragment.onMySignalListener; общественный недействительный переключательWindow() { если (слушатель == ноль) Toast.makeText(getContext(), «Проблема», Toast.LENGTH_LONG).show(); если (слушатель! = ноль) { прослушиватель.onMySignal(paramImageUrl); } } общедоступный интерфейс onMySignalListener { void onMySignal (String image_url); } public static void setOnMySignalListener(MapsFragment.onMySignalListener прослушиватель) { MapsFragment.listener = слушатель; } Действие на месте:
protected void onCreate (Bundle saveInstanceState) { . MapsFragment.setOnMySignalListener(новый MapsFragment.onMySignalListener() { @Override public void onMySignal (String image_url) { ImageUrl = image_url; } }); } где-то в прослушивателе кнопок во фрагменте, где я вызываю этот метод
switchWindow();
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение