Я пытаюсь воссоздать логикуListView
(иAbsListView
)с повторным использованием представлений. Мне это нужно, но мы можем сказать, что это только для понимания логики Android.
Предположим, мои дочерние элементы имеют один и тот же (такой же макет), используя фиксированную высоту RelativeLayout
.
Во время прокрутки я повторно использую представление дочерних элементов-призраков и устанавливаю свойства для текущего элемента. Это работает нормально, так как я использую View.offsetTopAndBottom()
и invalidate()
вместо запроса макета во время прокрутки для оптимизации.
Моя проблема заключается в обновлении дочерних элементов(RelativeLayout
).
Зависит от элемента, я хочу скрыть или показать ImageView
этот элемент. Для этого я просто использую iconImage.setVisibility( GONE )
и iconImage.setVisibility( VISIBLE )
.
Так как я блокирую requestLayout
, кажется setVisibility()
не работает должным образом.
Если я использую requestLayout
, все дерево будет измеряться и располагаться само по себе, и это не лучший способ для прокрутки пользовательского интерфейса.
Есть ли способ только для макета запроса на повторное использование дочернего элемента?