public static void unmountLithoView(LithoView lithoView) { lithoView.unmountAllItems(); }
public void hideStickyHeader() { mStickyHeader.unmountAllItems(); mStickyHeader.setVisibility(View.GONE); }
@Override public void onViewRecycled(BaseViewHolder holder) { if (holder.isLithoViewType) { final LithoView lithoView = (LithoView) holder.itemView; lithoView.unmountAllItems(); lithoView.setComponentTree(null); lithoView.setInvalidStateLogParamsList(null); } else { final ViewBinder viewBinder = holder.viewBinder; if (viewBinder != null) { viewBinder.unbind(holder.itemView); holder.viewBinder = null; } } }
lithoView.unmountAllItems();
@Test public void testRootHostClickableUnmount() { final LithoView lithoView = mountComponent( mContext, Column.create(mContext) .clickHandler(mContext.newEventHandler(1)) .longClickHandler(mContext.newEventHandler(2)) .child(TestDrawableComponent.create(mContext)) .build(), true); assertThat(lithoView.isClickable()).isTrue(); assertThat(lithoView.isLongClickable()).isTrue(); lithoView.unmountAllItems(); assertThat(lithoView.isClickable()).isFalse(); assertThat(lithoView.isLongClickable()).isFalse(); } }
assertThat(child2.isMounted()).isTrue(); lithoView.unmountAllItems(); assertThat(child1.isMounted()).isFalse(); assertThat(child2.isMounted()).isFalse();
@Test public void testUnmountAllCausesRemountOfComponentTreeOnLayout() { final TestComponent child1 = TestViewComponent.create(mContext).build(); final TestComponent child2 = TestDrawableComponent.create(mContext).build(); final LithoView lithoView = mountComponent( mContext, new InlineLayoutSpec() { @Override protected Component onCreateLayout(ComponentContext c) { return Column.create(c) .child(Wrapper.create(c).delegate(child1).widthPx(10).heightPx(10)) .child(Wrapper.create(c).delegate(child2).widthPx(10).heightPx(10)) .build(); } }, true); lithoView.performLayout(false, 0, 0, 100, 100); assertThat(child1.isMounted()).isTrue(); assertThat(child2.isMounted()).isTrue(); lithoView.unmountAllItems(); assertThat(child1.isMounted()).isFalse(); assertThat(child2.isMounted()).isFalse(); lithoView.performLayout(false, 0, 0, 100, 100); assertThat(child1.isMounted()).isTrue(); assertThat(child2.isMounted()).isTrue(); }