Справка Android Spinner Design - PullRequest
0 голосов
/ 15 июля 2011

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

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

Существует также проблема со Spinner, когда onItemSelected () вызывается при инициализации Spinner, поэтому трудно определить, выбирает ли система элемент или пользователь выбирает элемент. Я только загрузить Makes после того, как пользователь выбирает элемент. Я попытался переопределить onItemSelected и использовать собственный адаптер, но каждый раз, когда пользователь выбирает элемент, этот метод вызывается дважды, что мне кажется странным. Любое решение, которое я придумала, кажется взломанным и не выглядит утонченным.

Я много смотрел онлайн и не нашел решений.

Есть ли способ заставить Spinner работать в этом случае, или есть лучший дизайн, который я могу использовать для этого?

Ответы [ 2 ]

2 голосов
/ 15 июля 2011

"Spinners" или выпадающие меню работают намного лучше на веб-страницах с мышью, чем на мобильном устройстве с пальцем ...

Вы сказали, что пользователь сначала выбирает год, не лучше ли ему сначала выбрать марку? Я уверен, что так обычно и делается, но, тем не менее, возможно, вы могли бы использовать AutoCompleteTextView , чтобы пользователь мог набирать марку (без необходимости выбирать ее из списка из миллиарда марок), и она сузится выбор основан на наборе текста.

Для модели вы могли бы сделать то же самое, а затем для года, просто позвольте им ввести год ... пусть появится цифровая клавиатура (<EditText android:inputType="number" ... />), и для пользователя это будет намного быстрее, чем поиск год из списка 60 лет на счетчике.

0 голосов
/ 16 июля 2011

Я не пробовал ни одного кода для проверки этого, но мои первоначальные мысли, чтобы решить эту проблему, и все еще обеспечивают решение для прядильщиков, которое вам нужно, чтобы заполнить прядильщики Make и Model одним фиктивным значением и скрыть их. Затем, когда пользователь выберет год, запросите в вашем хранилище данных соответствующие данные, повторно заполните бланк Make и сделайте его видимым. Затем повторите то же самое для модели Spinner. Вам также нужно будет скрыть их, если пользователь вернется и изменит свой первоначальный выбор в счетчике года или в счетчике создания.

...