в моем текущем проекте я занимался классом spinner, который был настроен практически из всех возможных аспектов. Таким образом, я получил некоторые детализированные аспекты, поскольку я занимаюсь этим. Поэтому я начну с той части, которая показывает, почему она ошибочна.
1_ Нет прослушивателя по умолчанию, который будет запущен при всплывающем всплывающем окне/макете/диалоге, созданном-показанном (раздутом) событии. Есть несколько обходных решений, таких как прослушиватель ontouch на spinner, а затем проверить, произошло ли прикосновение в области spinner, тогда вы знаете, что всплывающее окно будет отображаться, но все же ненадежное, так как вы можете заполнить всплывающее окно с задачей async.
2_On выбранное событие не срабатывает при повторном выборе того же индекса. Это действительно раздражает, так как я могу обновлять адаптер в зависимости от других условий, которые изменят текущий выбор и порядок списка и т.д. Конечно, есть способ обхода путем создания собственного класса spinner и добавления его в xml, например com.myproject.customspinner и т.д...... (Spinner: onItemSelected не вызывается, когда выбранный элемент остается неизменным)
3_ Нет рабочего функционального события OnClickListener и OnItemLongTouchListener для spinner.
4_Changing Spinner DropDown атрибуты элемента списка разделителей, такие как цвет, требуют больше труда, чем изменение всех всплывающих и обратных представлений фона, что очень абсурдно.
5_Spinner само название очень абсурдно =))).
Итак, что я могу использовать вместо Spinner? Какой лучший способ пойти?