2011-12-19 20 views
0

我遇到了一段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)辦?例程中似乎沒有任何東西。

回答

3

該構造函數被聲明爲接受任何實現了AnimationCallback接口的東西。在Java中,接口定義了對象的行爲,但未指定其任何行爲。

傳遞給構造函數的實際對象是一些實現AnimationCallback接口的具體類。你必須知道正在使用的對象的實際類,以瞭解它的功能。

每請求時,這裏有一個簡單的(和相當無用)類,只是記錄事實,動畫已完成:

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

你可以給在實現AnimationCallback方面只是簡單的樣本? – lilzz 2011-12-19 03:16:41

+0

已添加@lilzz示例代碼 – 2011-12-19 03:22:35