Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 14.12.2018
Сообщений: 20

Почему слушатель на событие установлен после самого события, но все равно срабатывает?

14.12.2018, 12:50. Показов 1132. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот мой код:


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
spinner3 = (Spinner) findViewById(R.id.spinner3);

String years[] = {"2018", "2019", "2020"};
String months[] = {"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"};

adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, years);
adapter1.setDropDownViewResource(android .R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);

adapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, months);
adapter2.setDropDownViewResource(android .R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter2);

dater = new Dater();
final int currentYear = dater.getYear();
switch (currentYear) {
case 2018: {
spinner1.setSelection(0);
break;
}

case 2019: {
spinner1.setSelection(1);
break;
}

case 2020: {
spinner1.setSelection(2);
break;
}
}

calendarWorker = new CalendarWorker();

final int currentMonth = dater.getMonth();
spinner2.setSelection(currentMonth-1);


spinner2.setOnItemSelectedListener( new AdapterView.OnItemSelectedListener() {
@Override

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
updateMonth(position+1);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});



spinner3.setOnItemSelectedListener( new AdapterView.OnItemSelectedListener() {
@Override

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this,SecondActivity. class);

intent.putExtra("Date", Integer.toString(position+1)+"."+Integer .toString(currentMonth)+"."+Integer.toSt ring(currentYear));
startActivity(intent);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});


}

так вот, почему работает тело слушателя, когда он объявлен после самого события (изменение выбора элемента спиннера в этой строке:spinner2.setAdapter(adapter2))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2018, 12:50
Ответы с готовыми решениями:

Не срабатывает событие "click" после события "blur"
Здравствуйте! Например если фокус будет в текстовом поле и нажать на кнопку произойдет событие &quot;blur&quot;, но событие...

Почему не срабатывает событие?
Подскажите почему не срабатывает событие? using System; using System.Collections.Generic; using System.ComponentModel; using...

Почему не срабатывает событие OnOrderAdd
AddEventHandler(&quot;sale&quot;,&quot;OnOrderAdd&quot;,&quot;fff&quot;); function fff(&amp;$ID, &amp;$arFields) { $order_id=$ID; $user_id=$arField; ...

1
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
14.12.2018, 13:02
Просто скажи, что нужно сделать без каких-то событий после событий.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2018, 13:02
Помогаю со студенческими работами здесь

Почему событие onClick не срабатывает ?
В книге говорится что событие onClick срабатывает при нажатии на кнопке мыши. Но у меня ничего не выводит на экран при щелчке. Вот код: ...

Почему не срабатывает событие удаления записи?
Есть необходимость пересчета некоторых полей в форме ПОСЛЕ УДАЛЕНИЯ записи. Событие Удаление возникает фактически же ДО удаления? А событие...

Почему событие срабатывает несколько раз
почему в веббраузере за время загрузки страницы событие документкомплейт срабатывает несколько раз??? как сделать что бы срабатовалo один...

Почему не срабатывает событие MouseDown для Grid?
Почему не срабатывает событие MouseDown для Grid? &lt;Grid MouseDown=&quot;Grid_MouseDown&quot;&gt; &lt;/Grid&gt; private void Grid_MouseDown(object...

Событие срабатывает только один раз. почему?
Есть два radioButton в одной группе. У каждого событие OnCheckedChanged protected void radioButton_CheckedChanged(object sender,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru