У меня есть элемент spinner, привязанный к адаптеру массива, который может иметь 0 или более предметов в любое время. Я хочу, чтобы выпадающий список spinner отображал только три элемента за раз, а остальные элементы - прокручиваемые. Я попытался обернуть счетчик в макете с фиксированной шириной, но выпадающий список прядильщика все еще занимает весь экран (если есть много элементов в адаптере массива), чтобы отобразить список.Android ограничить количество элементов, отображаемых в выпадающем списке прядильщика
ответ
Я искал исходный код Spinner
и кажется, что вы не можете сделать это с помощью счетчика.
Spinner
имеет свой собственный частный интерфейс под названием SpinnerPopup
, который определяет способ отображения выпадающих элементов. В настоящее время он основан на spinnerMode
, что позволяет выпадающий список или список диалогов.
Оба варианта также реализованы внутри класса Spinner
как частные классы: DialogPopup
и DropdownPopup
. Поскольку вы не можете получить доступ к ним, мне кажется, единственный выход в этой точке:
- Реализовать свой собственный счетчик на основе других виджетов, таких как в this example.
- Copy the code класс
Spinner
, который кажется довольно автономным и реализует вашу версию спиннера с ним, изменяя все, что вам нравится в нем.
Извините, но я не мог больше помочь.
Удачи вам!
EDIT:
Если вы выбрали вариант 2, я думаю, что все, что вам нужно сделать, это добавить свой режим реализации интерфейса SpinnerPopup
. Затем внутри конструктора Spinner(Context context, AttributeSet attrs, int defStyle, int mode)
добавьте еще case
в switch
, проверяя режимы для создания собственного всплывающего окна. Кажется не сложно.
Я думаю, что я поеду со вторым вариантом..sounds проще! – thunderbird
Вернитесь сюда с результатами позже.:) –
Где вы загружали исходный код? Я использовал следующую ссылку: http: //grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/ widget/Spinner.java' (позже понял, что это был исходный код с пути назад 2009 г.). Удалено почти все, что показало ошибку, и в функции onClick я устанавливаю ширину и высоту диалогового окна spinner (всплывающее окно в android 1.5), который работал! – thunderbird
Способ использования этой функции - использовать функцию и передать ей адаптер массива. Сделать массив, который может содержать только 3 элемента только arr[3]
Теперь передайте, что обр к вертушке вы используете (локаль). Там вы можете получить данные трех прядильщиков, которые вам нужны.
Но как вы показываете остальную часть данных, если вы просто передаете 3 элемента? –
Каждый раз, когда вы прокручиваете вниз, вам нужно вызвать эту функцию, чтобы отобразить следующие три параметра (возможно, создать обработчик?). Вы можете объявить статический счетчик в этой функции для отслеживания. – SeasonalShot
Как вы можете получить событие scrolldown внутри spinner, чтобы обнаружить это? –
Вот в конечном счете простое решение .. просто скопировать эту строку в Spinner теге ...
android:dropDownHeight="100dp" <!--change 100dp to your requirement-->
Вы также можете изменить ширину ...
android:dropDownWidth="100dp" <!--change 100dp to your requirement-->
и вы знаете, что это работает на AutoCompleteTextView
тоже и с atleast api 16 ...
Это не работает для меня. – fobbymaster
- 1. Как ограничить количество отображаемых элементов в html.dropdownlist?
- 2. Ограничить количество отображаемых элементов в WPF ListView
- 3. Подсчитайте количество отображаемых элементов в списке HTML
- 4. Ограничить количество отображаемых аннотаций
- 5. Ограничить количество отображаемых символов
- 6. jQuery Sortable - Ограничить количество элементов в списке
- 7. Как ограничить количество элементов в списке?
- 8. md-autocomplete Количество отображаемых товаров
- 9. Ограничить общее количество записей, отображаемых datalist
- 10. Ограничить количество страниц, отображаемых в отчете SSRS
- 11. Как ограничить количество строк, отображаемых в таблице?
- 12. Как ограничить количество сообщений, отображаемых в фиде?
- 13. количество элементов, отображаемых на странице
- 14. Ограничить число отображаемых элементов с й: каждым
- 15. Как установить максимальное количество элементов, видимых в выпадающем списке SELECT?
- 16. PyQt QComboBox установка количества видимых элементов в выпадающем списке
- 17. Как искать в раскрывающемся списке прядильщика android
- 18. Как ограничить количество отображаемых документов Mongoose?
- 19. Ограничить количество символов, отображаемых тегом Mustache.js
- 20. Ограничить количество отображаемых символов с помощью php
- 21. Как ограничить количество изображений, отображаемых на странице?
- 22. Можно ли ограничить количество ошибок, отображаемых компилятором?
- 23. Ограничить количество объектов в списке
- 24. Ограничить количество индексов в списке
- 25. Управление количеством строк в выпадающем списке
- 26. Ejabberd | Ограничить максимальное количество элементов в списке списков?
- 27. Ограничить количество элементов в массиве
- 28. Ограничить количество элементов в QTreeWidget
- 29. Количество динамических значений в выпадающем списке
- 30. ограничить элементы, отображаемые в выпадающем списке HTML при его открытии
Я не думаю, что есть простой способ сделать это без настройки адаптера. Но, возможно, это может помочь: https://github.com/ankitthakkar/DropDownSpinner –
как вы это сделаете, настроив адаптер? я не хочу создавать свой собственный элемент spinner с помощью кнопки и списка, как это сделано в списке. – thunderbird