覆盖 Java 中的公共 final 方法(反射?!)

fis*_*ish 5 java reflection android overriding final

当我尝试为 Android 项目创建自定义LayoutAnimationController时遇到了问题。它有方法

public final Animation getAnimationForView(View v)
Run Code Online (Sandbox Code Playgroud)

对于我的自定义 LayoutAnimationController,我需要覆盖这个方法,因为每个视图都应该获得一个“唯一”的动画。是否可以通过使用反射或类似技术来覆盖公共 final 方法,或者您有其他想法吗?

我知道通过反射或其他方式覆盖 java final 方法中讨论了类似的事情但是出现在那里的“解决方案”非常针对用户的问题,并没有完全回答覆盖最终方法的问题。

mic*_*cha 0

看起来LayoutAnimationController不打算这样使用。

如果您能够getAnimationForView(View v)使用您想要的功能进行重写,那么大多数方法/构造函数LayoutAnimationController将毫无意义,因为创建此类是为了在多个视图上使用单个动画(具有不同的延迟)。

也许最好查看源代码并根据此信息创建您自己的动画控制器。