2012-06-29 1 views
5

Я хотел бы создать галерею фотографий, которые прокручиваются влево и вправо. Сначала я взглянул на Gallery, но он отмечен как устаревший.ViewPager + виды переработки?

http://developer.android.com/reference/android/widget/Gallery.html

Нам сказали попробовать ViewPager вместо этого. Но класс PagerAdapter не обрабатывает переработку просмотров для нас (как стандарт ListView), не так ли?

http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html

Является ли это для нас, чтобы построить механизм рециркуляции?

Благодаря

ответ

3

Но класс PagerAdapter не обрабатывает переработку видов для нас (как стандартный ListView), не так ли?

Нет, и я думаю, это потому, что оно было построено в предположении, что вы используете разные макеты для каждой страницы.

Кроме того, поскольку он не прокручивается так быстро, как ListView (вы не можете «бросать» ViewPager, чтобы пропустить несколько страниц), я думаю, что его не нужно перерабатывать.

+3

Но Галерея устарела, поэтому они в основном не дают нам пригодного для повторного использования горизонтального решения? – user291701

+0

@ user291701 Галерея не перерабатывает представления в любом случае, несмотря на использование адаптера ('convertView' всегда имеет значение null) –

+0

@ ılǝ сохранение просмотров в живых - это не то же самое, что и утилизация ... он просто живой, поэтому адаптеру не нужно надувать он снова, когда пользователь просто переключается между двумя или тремя видами, но он не обязательно использует один и тот же вид для разных страниц. Кроме того, FragmentPagerAdapter не поддерживает Views - он содержит фрагменты, и нет перегрузки метода getItem (int position) для FragmentPagerAdapter, поэтому я не думаю, что он перерабатывает что-либо. – josephus

1

увидеть ссылку на редактирование на this question на ссылку в Edit и ответы даст вам некоторые возможные пути решения.

Существует также HorizontalListView где-то в Интернете, если вы ищете его, что делает прекрасную замену Gallery и перерабатывает его виды.

2

Это HorizontalListView отлично, я использовал его, чтобы сделать именно то, что вы хотите.