2016-04-02 19 views
0

私はサイコロJavaでアニメーションが終了した後でメソッドを呼び出すにはどうすればよいですか?

ここ

をアニメ化した後にメソッドを呼び出したいが、私のコードです:

//animation: 

public void rollDice(){ 

    diceImageView.animate() 
      .rotation(1800) 
      .setDuration(2000); 

//method I want to call: 

    checkNumber(); 

} 

私はrollDice()を呼び出すと、あなたがアニメーションを見ることができない、それだけでアニメーションをスキップして呼び出します方法checkNumber()

メソッドcheckNumber()を呼び出すためにアニメーションが完了するまで、どのように待機しますか?

+0

これはクラスオブジェクトの場合はどうなりますか? ** diceImageView **? –

+0

アニメーションの終了後に起動されるコールバックを使用/提供+使用します。 – m02ph3u5

答えて

1

これは、通常、アニメーションが別のスレッドで実行されると思うので、通常はコールバックで行われます。

public interface AnimationCallback { 
    public void onAnimationDone(); 
} 

とインスタンスとそのクラスを登録して、アニメーションの後にコールバックが呼び出されるそのAPIのメソッドを追加します。そのアニメーションのAPIが何をすべき は、コールバックインタフェースを宣言しています。あなたのアニメーションAPIでない場合は、そのアニメーションの期間中、現在のスレッドをスリープ状態にしなければならないかもしれませんが、それは私にとっては本当に悪い練習に見えます。

関連する問題