2011-09-27 6 views
16

私はアニメーションが終了した画像ビュー上で知りたいアニメーションを開始したビューオブジェクトを取得する方法......?

、私はonAnimationEnd(アニメーションアニメーション)メソッドでは、アニメーションのリスナーを持っている私は、同じアニメーションを開始した3イメージ図(翻訳)

を持っています。 ?

アニメーションオブジェクトからどのように開始されたのかわかりますか?

ありがとうございます。

+0

は(onAnimationEndにフラグを維持してみてください) – aNi

+0

私はあなたを取得できませんでした。 ! – Noby

答えて

31

アニメーションが終了したオブジェクトが何であるかわかりません。 AnimationListenerの全目的は、オブジェクトではなくアニメーションを聴くことです。

ソリューション


の1-独自のアニメーションクラスを作成し、それにアニメーション化されたオブジェクトへの参照を保存します。

これは、onAnimationEnd関数でYourAnimationにアニメーションをキャストし、参照を取得することができます。


2 -簡単な解決策はアニメ化されたオブジェクトの参照を保持し、独自のAnimationListenerを作成することです。例えば

:あなたのImageViewのをアニメーション化するとき

public class MyAnimationListener implements AnimationListener { 
    ImageView view; 
    public void setImage(ImageView view) { 
     this.view = view; 
    } 
    public void onAnimationEnd(Animation animation) { 
     // Do whatever you want 
    } 
    public void onAnimationRepeat(Animation animation) { 
    } 
    public void onAnimationStart(Animation animation) { 
    } 
} 

だから:あなたは次のようにします。

MyAnimationListener listener = new MyAnimationListener(); 
listener.setImage(myImage); 

myAnimation.setAnimationListener(listener); 
+0

ベストソリューション... –

+0

@ W.K.Sねえ!あなたは、それについてもう少し詳しく説明できますか?:) – Slava

+0

@Slava私のコメントは間違っていました。この回答は良いです:) –