【发布时间】:2013-03-22 21:36:28
【问题描述】:
当我尝试为 Android 项目创建自定义 LayoutAnimationController 时,我遇到了问题。它有方法
public final Animation getAnimationForView(View v)
对于我的自定义 LayoutAnimationController,我需要重写这个方法,因为每个视图都应该获得一个“独特”的动画。 是否可以使用反射或类似技术覆盖公共 final 方法,或者您有其他想法?
我知道在override java final methods via reflection or other means? 中讨论过类似的问题,但那里出现的“解决方案”非常针对用户的问题,并没有完全回答覆盖最终方法的问题。
【问题讨论】:
-
为什么需要在反射中覆盖它?只需有一个实现接口的类,并将动画的唯一性建立在接口的具体实现之外的其他东西上
-
你可以用 java.util.Proxy 类做你想做的事,但我不确定你是否能说服它做你想做的事。
-
不幸的是,没有可以实现的 LayoutAnimationController 接口 - LayoutAnimationController 是基类。如果尝试使用 java.reflect.Proxy,但我想我并没有真正理解我必须做什么才能让它工作。
标签: java android reflection overriding final