0

コードを読みやすくしたいので、実行することを何でも実行し、次に実行するメソッドを呼び出す onCreate に戻るさまざまなメソッドを作成しています。メソッドの 1 つに onAnimationEnd リスナーがあり、onCreate メソッドでアニメーションが終了するのを待ってから次のメソッドを呼び出したいのですが、リスナー自体から次のメソッドを呼び出さずにどうすればそれを行うことができますか?

前もって感謝します

onCreate() 
{
 doTask1();
 doTask2();
}

private void doTask1(){
    ...
    ...
    public void onAnimationEnd(Animation animation) {

            // finish this method and let onCreate call the next one
        }
}
4

1 に答える 1

0

これを行う最善の方法は、次のようなものを実装する必要があります。

onCreate() 
{
 doTask1();
 doTask2();
}

private void doTask1(){
    Animation animation;
    ...
    ...
    onAnimationEnd(animation);
}

public void onAnimationEnd(Animation animation) { 
        ...
}

onAnimationEnd メソッドがリスナーの場合は、次のようなものを実装することをお勧めします。

onCreate()  { 
    addActions(); //you can choose which method call first
    doTask1();
    doTask2();
}

private void addActions(){
    ...
    ...
    public void onAnimationEnd(Animation animation) {

            // finish this method and let onCreate call the next one
        } 
}

private void doTask1(){
    ...
}
于 2013-03-13T13:40:51.853 に答える