我遇到了一段Android代码。我不太了解回调的目的,因为它是空的。
在Animation.java中
private AnimationCallback callback = null;
public Animation(final AnimationCallback animationCallBack) {
this();
callback = animationCallBack;
}
public void stop() {
if (callback != null) {
callback.onAnimationFinished(this);
}
active = false;
}
public interface AnimationCallback { void onAnimationFinished(final Animation animation); }
但在AnimationCallback
只有
public interface AnimationCallback {
void onAnimationFinished(final Animation animation);
}
我想我的问题是callback.onAnimationFinished(this)
做了什么?例程中似乎没有任何内容。
答案 0 :(得分:3)
声明构造函数采用任何实现AnimationCallback
接口的方法。在Java中,接口定义了对象的行为,但未指定其任何行为。
传递给构造函数的实际对象是一些实现AnimationCallback
接口的具体类。您必须知道用于了解其作用的对象的实际类。
根据请求,这是一个简单(并且相当无用)的类,它只记录动画已完成的事实:
public AnimationFinishedLogger implements AnimationCallback {
public void onAnimationFinished(final Animation animation) {
Log.i("AnimationLogger", "Animation finished");
}
}