0

我有一些片段,当它们可见时我需要运行一些动画。

这些片段位于 ViewPager 中。感谢那个答案 -如何确定片段何时在 ViewPager 中可见- 我知道当我的片段通过方法 getUserVisibleHint 可见时我会收到通知。

因为我有很多动画,所以我制作了知道如何为自己设置动画的自定义视图。现在我需要在片段的 getUserVisibleHint 方法中通知片段内的所有视图,让他们知道是时候为自己制作动画了。

所以我的问题是:如何通知片段内的所有视图?

欢迎任何解决方案,但我怎么说,我需要通知的视图是我创建的自定义视图,所以我相信我也需要某种自定义通知。

4

1 回答 1

1

你说你所有的观点都是习惯的。我假设它们都实现了一个特定的接口(比如说,InterfaceA)。

以下代码将notificationMethod()在实现您的InterfaceA界面的每个自定义视图上调用。这viewGroup是您的根视图(例如, a LinearLayout)。

int childcount = viewGroup.getChildCount();
for (int i=0; i < childcount; i++){
   View view = viewGroup.getChildAt(i); 
   if (view instanceof InterfaceA) { 
       ((InterfaceA)view).notificationMethod();
   }
}
于 2013-08-17T01:22:25.797 回答