Только релевантные дочерние элементы, а не все дерево.

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

Предположим, мои дочерние элементы имеют один и тот же (такой же макет), используя фиксированную высоту RelativeLayout.

Во время прокрутки я повторно использую представление дочерних элементов-призраков и устанавливаю свойства для текущего элемента. Это работает нормально, так как я использую View.offsetTopAndBottom()и invalidate()вместо запроса макета во время прокрутки для оптимизации.

Моя проблема заключается в обновлении дочерних элементов(RelativeLayout).

Зависит от элемента, я хочу скрыть или показать ImageViewэтот элемент. Для этого я просто использую iconImage.setVisibility( GONE )и iconImage.setVisibility( VISIBLE ).

Так как я блокирую requestLayout, кажется setVisibility()не работает должным образом.

Если я использую requestLayout, все дерево будет измеряться и располагаться само по себе, и это не лучший способ для прокрутки пользовательского интерфейса.

Есть ли способ только для макета запроса на повторное использование дочернего элемента?

8
задан olivier_sdg 12 April 2012 в 10:24
поделиться