通知片段的视图孩子

时间:2013-08-17 01:08:46

标签: android android-fragments android-animation

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

这些片段在ViewPager中。感谢这个答案 - How to determine when Fragment becomes visible in ViewPager - 我知道当我的片段通过方法getUserVisibleHint可见时会收到通知。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

以下代码将在实现notificationMethod()接口的每个自定义视图上调用InterfaceAviewGroup是您的根视图(例如,LinearLayout)。

int childcount = viewGroup.getChildCount();
for (int i=0; i < childcount; i++){
   View view = viewGroup.getChildAt(i); 
   if (view instanceof InterfaceA) { 
       ((InterfaceA)view).notificationMethod();
   }
}