2015-04-26 4 views
-3

Я хочу знать, есть ли какая-то конкретная причина, почему вы не можете использовать OnItemClickListener с spinner в Android? Просматривая старые сообщения (setOnItemClickListener Not Works with Spinner и I have an error: setOnItemClickListener cannot be used with a spinner, what is wrong?), кажется, что люди даже не беспокоятся о OnItemClickListener и скорее идут прямо на OnItemSelectedListener. Почему Eclipse дает OnItemClickListener в качестве опции для счетчика, если он никогда не сможет работать?Почему OnItemClickListener не работает с Spinner?

Некоторые контексты - Я не слишком обеспокоен тем, какой метод я использую. Как только пользователь выбирает элемент из счетчика, я хочу сделать второй счетчик видимым и заполнить его из базы данных на основе опции, выбранной в первом счетчике. Теперь, когда я использую OnItemSelectedListener, второй счетчик сразу устанавливается на видимый. Есть ли обходной путь для этого?

+0

На вопрос о Eclipse, я не знаю; что, по-видимому, связано с проблемой программирования ваших двух проигрывателей, вы можете добавить некоторые детали и некоторый код. – natario

ответ

1

Почему Eclipse предоставляет OnItemClickListener в качестве опции для счетчика, если он никогда не сможет работать?

Поскольку все, что распространяется на AdapterView, имеет номер setOnItemClickListener(). Просто потому, что некоторые подклассы игнорируют это не означает, что сеттер волшебным образом исчезает.

Есть ли обходной путь для этого?

Там нет обходного пути, потому что нет никаких проблем, потому что это делает именно то, что вы говорите, что вы хотите, чтобы произошли ("Я хочу, чтобы сделать второй кок видимым и заполнить его из базы данных на основе варианты выбранный в первом счетчике "). A Spinnerвсегда имеет выбор если есть данные для выбора. Следовательно, ваш второй Spinner должен всегда быть видимым, так как он «основан на опции, выбранной в первом счетчике», и всегда будет «« вариант, выбранный на первом счетчике ».

Это походит на то, что вы действительно хотите, чтобы только иметь второй Spinner открыты для конкретных выборов в первом Spinner, где вы создали первый Spinner где есть некоторый выбор, что, с точки зрения бизнеса, если не технические термины , означает «нет выбора». Вы можете это сделать, но тогда вам придется реализовать логику для этого, только показывая второй Spinner, когда соответствующее значение выбрано в первом Spinner.

+0

У меня проблема Spinner с onItemClick() в списке RecyclerView здесь: https://stackoverflow.com/questions/46312851/fix-onitemclick-for-recyclerview Я был бы признателен за любые мысли или идеи, которые у вас есть. – AJW