Android中的回调例程

时间:2011-12-19 03:13:19

标签: android

我遇到了一段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)做了什么?例程中似乎没有任何内容。

1 个答案:

答案 0 :(得分:3)

声明构造函数采用任何实现AnimationCallback接口的方法。在Java中,接口定义了对象的行为,但未指定其任何行为。

传递给构造函数的实际对象是一些实现AnimationCallback接口的具体类。您必须知道用于了解其作用的对象的实际类。

根据请求,这是一个简单(并且相当无用)的类,它只记录动画已完成的事实:

public AnimationFinishedLogger implements AnimationCallback {
    public void onAnimationFinished(final Animation animation) {
        Log.i("AnimationLogger", "Animation finished");
    }
}