2013-02-26 4 views
0

Я хочу, чтобы мой код был доступен для чтения, поэтому я пишу различные методы, которые делают все, что они делают, и возвращаются к onCreate, который вызывает следующий, который будет выполнен. один из моих методов имеет прослушиватель onAnimationEnd, я хочу, чтобы метод onCreate дождался окончания анимации, а затем вызвал следующий метод, как я могу это сделать, не вызывая следующий метод из самого слушателя?Возвращаясь к onCreate

Заранее спасибо

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

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

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

«Я хочу, чтобы метод onCreate подождал» - методы, связанные с пользовательским интерфейсом, никогда не должны «ждать» – Tobrun

+0

как насчет вызова 'onAnimationEnd()' в 'doInBackground' [' AsyncTask'] (http://www.google.com/url?sa=t&rct=j&q=android+asynctask&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url= HTTP% 3A% 2F% 2Fdeveloper.android.com% 2Freference% 2Fandroid% 2Fos% 2FAsyncTask.html & е = Vt0sUeCsHYPsrAfIsoGgAw & USG = AFQjCNE8gLVXz1Hwq4rI8oxRkZNHjhRzpQ & BVM = bv.42965579, d.bmk)? – Jaguar

+0

@ user1281750 его не совсем «ждет», анимация действительно короткая, и я не хочу, чтобы что-то происходило на экране раньше, чем закончилось ... – Androidz

ответ

0

Лучший способ сделать это, вы должны реализовать что-то вроде:

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

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

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

Если метод onAnimationEnd является слушателем, я ADVERT вы implemente что-то вроде:

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(){ 
    ... 
} 
Смежные вопросы