Я хочу создать настраиваемый ListView (или аналогичный), который будет вести себя как закрытый (круговой):
- прокрутка вниз - после того, как последний элемент был достигнут, начинается первый (.., n-1, n, 1, 2,..)
- прокрутка вверх - после того, как первый элемент был достигнут, последний начинается (.., 2, 1, n, n-1,..)
Это звучит просто концептуально, но, по-видимому, для этого нет простого подхода. Может ли кто-нибудь указать мне правильное решение? Спасибо!
Я уже получил ответ (из Streets Of Boston на группы разработчиков Android-разработчиков google), но это звучит как-то уродливо:) -
Я сделал это, создав свой собственный list-adapter (подклассы из BaseAdapter).
Я закодировал свой собственный список-адаптер в таком путь, возвращаемый методом getCount() номер HUUUUGE.
И если выбран пункт 'x', то это элемент соответствует адаптеру положение = 'adapter.getCount()/2 + х'
И для моего адаптера getItem (int position), я смотрю в своем массив, который выполняет резервное копирование адаптера и выберите элемент по индексу: (position-getCount()/2)% myDataItems.length
Вам нужно сделать еще несколько "специальных" чтобы все это работало правильно, но вы получите эту идею.
В принципе, все еще возможно достичь конца или начала, но если вы установите getCount() на около миллиона или около того, это сложно сделать: -)